blob: 1535ab6e34ae10e1e9144e8d51cbbfe832fdc06a [file] [log] [blame]
// 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)
* @description Checks the method on a set of values.
* @author msyabro
*/
import "../../../Utils/expect.dart";
check(String expected, double val, int digits) {
Expect.equals(expected, val.toStringAsExponential(digits));
Expect.equals('-$expected', (-val).toStringAsExponential(digits));
}
main() {
check('1e+0', 1.0, 0);
check('1.0e+0', 1.0, 1);
check('1.00e+0', 1.0, 2);
check('1.000e+0', 1.0, 3);
check('1.0000e+0', 1.0, 4);
check('1.00000e+0', 1.0, 5);
check('1e-1', 0.123456, 0);
check('1.2e-1', 0.123456, 1);
check('1.23e-1', 0.123456, 2);
check('1.235e-1', 0.123456, 3);
check('1.2346e-1', 0.123456, 4);
check('1.23456e-1', 0.123456, 5);
check('9e-14', 0.00000000000009, 0);
check('9.0e-14', 0.00000000000009, 1);
check('9.00e-14', 0.00000000000009, 2);
check('9.000e-14', 0.00000000000009, 3);
check('9.0000e-14', 0.00000000000009, 4);
check('9.00000e-14', 0.00000000000009, 5);
check('3e+0', 2.999999999, 0);
check('3.0e+0', 2.999999999, 1);
check('3.00e+0', 2.999999999, 2);
check('3.000e+0', 2.999999999, 3);
check('3.0000e+0', 2.999999999, 4);
check('3.00000e+0', 2.999999999, 5);
check('1e+2', 111.1111111, 0);
check('1.1e+2', 111.1111111, 1);
check('1.11e+2', 111.1111111, 2);
check('1.111e+2', 111.1111111, 3);
check('1.1111e+2', 111.1111111, 4);
check('1.11111e+2', 111.1111111, 5);
}