| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// @assertion String toStringAsExponential([int fractionDigits]) |
| /// Returns an exponential string-representation of this. |
| /// |
| /// Converts this to a double before computing the string representation. |
| /// |
| /// If fractionDigits is given then it must be an integer satisfying: |
| /// 0 <= fractionDigits <= 20. In this case the string contains exactly |
| /// fractionDigits after the decimal point. Otherwise, without the parameter, |
| /// the returned string uses the shortest number of digits that accurately |
| /// represent this. |
| /// |
| /// If fractionDigits equals 0 then the decimal point is omitted |
| /// @description Checks that this method returns correct value when |
| /// fractionDigits is specified. |
| /// @author vasya |
| /// @author msyabro |
| |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| Expect.equals("1e+2", 100.toStringAsExponential(null)); |
| |
| Expect.equals("1e+2", 100.toStringAsExponential(0)); |
| Expect.equals("1.0e+2", 100.toStringAsExponential(1)); |
| Expect.equals("1.00e+2", 100.toStringAsExponential(2)); |
| Expect.equals("1.000e+2", 100.toStringAsExponential(3)); |
| Expect.equals("1.0000e+2", 100.toStringAsExponential(4)); |
| Expect.equals("1.00000e+2", 100.toStringAsExponential(5)); |
| Expect.equals("1.000000e+2", 100.toStringAsExponential(6)); |
| Expect.equals("1.0000000e+2", 100.toStringAsExponential(7)); |
| Expect.equals("1.00000000e+2", 100.toStringAsExponential(8)); |
| Expect.equals("1.000000000e+2", 100.toStringAsExponential(9)); |
| Expect.equals("1.0000000000e+2", 100.toStringAsExponential(10)); |
| |
| Expect.equals("-1e+2", (-100).toStringAsExponential(0)); |
| Expect.equals("-1.0000000000e+2", (-100).toStringAsExponential(10)); |
| |
| Expect.equals("1e+8", 123456789.toStringAsExponential(0)); |
| Expect.equals("1.2e+8", 123456789.toStringAsExponential(1)); |
| Expect.equals("1.23e+8", 123456789.toStringAsExponential(2)); |
| Expect.equals("1.235e+8", 123456789.toStringAsExponential(3)); |
| Expect.equals("1.2346e+8", 123456789.toStringAsExponential(4)); |
| Expect.equals("1.23457e+8", 123456789.toStringAsExponential(5)); |
| Expect.equals("1.234568e+8", 123456789.toStringAsExponential(6)); |
| Expect.equals("1.2345679e+8", 123456789.toStringAsExponential(7)); |
| Expect.equals("1.23456789e+8", 123456789.toStringAsExponential(8)); |
| Expect.equals("1.234567890e+8", 123456789.toStringAsExponential(9)); |
| Expect.equals("1.2345678900e+8", 123456789.toStringAsExponential(10)); |
| |
| Expect.equals("-1e+8", (-123456789).toStringAsExponential(0)); |
| Expect.equals("-1.2345678900e+8", (-123456789).toStringAsExponential(10)); |
| |
| Expect.equals("0e+0", 0.toStringAsExponential(0)); |
| Expect.equals("0.0e+0", 0.toStringAsExponential(1)); |
| Expect.equals("0.00e+0", 0.toStringAsExponential(2)); |
| Expect.equals("0.000e+0", 0.toStringAsExponential(3)); |
| Expect.equals("0.0000e+0", 0.toStringAsExponential(4)); |
| Expect.equals("0.00000e+0", 0.toStringAsExponential(5)); |
| Expect.equals("0.000000e+0", 0.toStringAsExponential(6)); |
| Expect.equals("0.0000000e+0", 0.toStringAsExponential(7)); |
| Expect.equals("0.00000000e+0", 0.toStringAsExponential(8)); |
| Expect.equals("0.000000000e+0", 0.toStringAsExponential(9)); |
| Expect.equals("0.0000000000e+0", 0.toStringAsExponential(10)); |
| |
| Expect.equals("1e+0", 1.toStringAsExponential(0)); |
| Expect.equals("1.0e+0", 1.toStringAsExponential(1)); |
| Expect.equals("1.00e+0", 1.toStringAsExponential(2)); |
| Expect.equals("1.000e+0", 1.toStringAsExponential(3)); |
| Expect.equals("1.0000e+0", 1.toStringAsExponential(4)); |
| Expect.equals("1.00000e+0", 1.toStringAsExponential(5)); |
| Expect.equals("1.000000e+0", 1.toStringAsExponential(6)); |
| Expect.equals("1.0000000e+0", 1.toStringAsExponential(7)); |
| Expect.equals("1.00000000e+0", 1.toStringAsExponential(8)); |
| Expect.equals("1.000000000e+0", 1.toStringAsExponential(9)); |
| Expect.equals("1.0000000000e+0", 1.toStringAsExponential(10)); |
| } |