blob: 3273b9b5bd83619f013218727e6bc63d57a7f14e [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 toStringAsPrecision(int precision)
/// Converts this to a double and returns a string representation with exactly
/// precision significant digits.
/// The parameter precision must be an integer satisfying: 1 <= precision <= 21.
/// @description Checks that this method returns correct value.
/// @author vasya
import "../../../Utils/expect.dart";
main() {
Expect.equals("1e+8",123456789.toStringAsPrecision(1));
Expect.equals("1.2e+8",123456789.toStringAsPrecision(2));
Expect.equals("1.23e+8",123456789.toStringAsPrecision(3));
Expect.equals("1.235e+8",123456789.toStringAsPrecision(4));
Expect.equals("1.2346e+8",123456789.toStringAsPrecision(5));
Expect.equals("1.23457e+8",123456789.toStringAsPrecision(6));
Expect.equals("1.234568e+8",123456789.toStringAsPrecision(7));
Expect.equals("1.2345679e+8",123456789.toStringAsPrecision(8));
Expect.equals("123456789",123456789.toStringAsPrecision(9));
Expect.equals("123456789.0",123456789.toStringAsPrecision(10));
Expect.equals("0",0.toStringAsPrecision(1));
Expect.equals("0.0",0.toStringAsPrecision(2));
Expect.equals("0.00",0.toStringAsPrecision(3));
Expect.equals("0.000",0.toStringAsPrecision(4));
Expect.equals("0.0000",0.toStringAsPrecision(5));
Expect.equals("0.00000",0.toStringAsPrecision(6));
Expect.equals("0.000000",0.toStringAsPrecision(7));
Expect.equals("0.0000000",0.toStringAsPrecision(8));
Expect.equals("0.00000000",0.toStringAsPrecision(9));
Expect.equals("0.000000000",0.toStringAsPrecision(10));
Expect.equals("1e+1",10.toStringAsPrecision(1));
Expect.equals("10",10.toStringAsPrecision(2));
Expect.equals("10.0",10.toStringAsPrecision(3));
Expect.equals("10.00",10.toStringAsPrecision(4));
Expect.equals("10.000",10.toStringAsPrecision(5));
Expect.equals("10.0000",10.toStringAsPrecision(6));
Expect.equals("10.00000",10.toStringAsPrecision(7));
Expect.equals("10.000000",10.toStringAsPrecision(8));
Expect.equals("10.0000000",10.toStringAsPrecision(9));
Expect.equals("10.00000000",10.toStringAsPrecision(10));
}