test262/test/built-ins/Number/S9.3.1_A32.js

42 lines
1.2 KiB
JavaScript

// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: |
Once the exact MV for a string numeric literal has been
determined, it is then rounded to a value of the Number type with 20
significant digits by replacing each significant digit after the 20th
with a 0 digit or the number value
es5id: 9.3.1_A32
description: Use various long numbers, for example, 1234567890.1234567890
---*/
assert.sameValue(
Number("1234567890.1234567890"),
1234567890.1234567890,
'Number("1234567890.1234567890") must return 1234567890.1234567890'
);
assert.sameValue(
Number("1234567890.1234567890"),
1234567890.1234567000,
'Number("1234567890.1234567890") must return 1234567890.1234567000'
);
assert.notSameValue(
+("1234567890.1234567890"),
1234567890.123456,
'The value of +("1234567890.1234567890") is not 1234567890.123456'
);
assert.sameValue(
Number("0.12345678901234567890"),
0.123456789012345678,
'Number("0.12345678901234567890") must return 0.123456789012345678'
);
assert.sameValue(
Number("00.12345678901234567890"),
0.123456789012345678,
'Number("00.12345678901234567890") must return 0.123456789012345678'
);