📄 number-tostring.js
字号:
// Copyright 2008 the V8 project authors. All rights reserved.// Redistribution and use in source and binary forms, with or without// modification, are permitted provided that the following conditions are// met://// * Redistributions of source code must retain the above copyright// notice, this list of conditions and the following disclaimer.// * Redistributions in binary form must reproduce the above// copyright notice, this list of conditions and the following// disclaimer in the documentation and/or other materials provided// with the distribution.// * Neither the name of Google Inc. nor the names of its// contributors may be used to endorse or promote products derived// from this software without specific prior written permission.//// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.// ----------------------------------------------------------------------// toStringassertEquals("NaN", (NaN).toString());assertEquals("Infinity", (1/0).toString());assertEquals("-Infinity", (-1/0).toString());assertEquals("0", (0).toString());assertEquals("9", (9).toString());assertEquals("90", (90).toString());assertEquals("90.12", (90.12).toString());assertEquals("0.1", (0.1).toString());assertEquals("0.01", (0.01).toString());assertEquals("0.0123", (0.0123).toString());assertEquals("111111111111111110000", (111111111111111111111).toString());assertEquals("1.1111111111111111e+21", (1111111111111111111111).toString());assertEquals("1.1111111111111111e+22", (11111111111111111111111).toString());assertEquals("0.00001", (0.00001).toString());assertEquals("0.000001", (0.000001).toString());assertEquals("1e-7", (0.0000001).toString());assertEquals("1.2e-7", (0.00000012).toString());assertEquals("1.23e-7", (0.000000123).toString());assertEquals("1e-8", (0.00000001).toString());assertEquals("1.2e-8", (0.000000012).toString());assertEquals("1.23e-8", (0.0000000123).toString());assertEquals("0", (-0).toString());assertEquals("-9", (-9).toString());assertEquals("-90", (-90).toString());assertEquals("-90.12", (-90.12).toString());assertEquals("-0.1", (-0.1).toString());assertEquals("-0.01", (-0.01).toString());assertEquals("-0.0123", (-0.0123).toString())assertEquals("-111111111111111110000", (-111111111111111111111).toString());assertEquals("-1.1111111111111111e+21", (-1111111111111111111111).toString());assertEquals("-1.1111111111111111e+22", (-11111111111111111111111).toString());assertEquals("-0.00001", (-0.00001).toString());assertEquals("-0.000001", (-0.000001).toString());assertEquals("-1e-7", (-0.0000001).toString());assertEquals("-1.2e-7", (-0.00000012).toString());assertEquals("-1.23e-7", (-0.000000123).toString());assertEquals("-1e-8", (-0.00000001).toString());assertEquals("-1.2e-8", (-0.000000012).toString());assertEquals("-1.23e-8", (-0.0000000123).toString());assertEquals("NaN", (NaN).toString(16));assertEquals("Infinity", (1/0).toString(16));assertEquals("-Infinity", (-1/0).toString(16));assertEquals("0", (0).toString(16));assertEquals("9", (9).toString(16));assertEquals("5a", (90).toString(16));assertEquals("5a.1eb851eb852", (90.12).toString(16));assertEquals("0.1999999999999a", (0.1).toString(16));assertEquals("0.028f5c28f5c28f6", (0.01).toString(16));assertEquals("0.032617c1bda511a", (0.0123).toString(16));assertEquals("605f9f6dd18bc8000", (111111111111111111111).toString(16));assertEquals("3c3bc3a4a2f75c0000", (1111111111111111111111).toString(16));assertEquals("25a55a46e5da9a00000", (11111111111111111111111).toString(16));assertEquals("0.0000a7c5ac471b4788", (0.00001).toString(16));assertEquals("0.000010c6f7a0b5ed8d", (0.000001).toString(16));assertEquals("0.000001ad7f29abcaf48", (0.0000001).toString(16));assertEquals("0.000002036565348d256", (0.00000012).toString(16));assertEquals("0.0000021047ee22aa466", (0.000000123).toString(16));assertEquals("0.0000002af31dc4611874", (0.00000001).toString(16));assertEquals("0.000000338a23b87483be", (0.000000012).toString(16));assertEquals("0.00000034d3fe36aaa0a2", (0.0000000123).toString(16));assertEquals("0", (-0).toString(16));assertEquals("-9", (-9).toString(16));assertEquals("-5a", (-90).toString(16));assertEquals("-5a.1eb851eb852", (-90.12).toString(16));assertEquals("-0.1999999999999a", (-0.1).toString(16));assertEquals("-0.028f5c28f5c28f6", (-0.01).toString(16));assertEquals("-0.032617c1bda511a", (-0.0123).toString(16));assertEquals("-605f9f6dd18bc8000", (-111111111111111111111).toString(16));assertEquals("-3c3bc3a4a2f75c0000", (-1111111111111111111111).toString(16));assertEquals("-25a55a46e5da9a00000", (-11111111111111111111111).toString(16));assertEquals("-0.0000a7c5ac471b4788", (-0.00001).toString(16));assertEquals("-0.000010c6f7a0b5ed8d", (-0.000001).toString(16));assertEquals("-0.000001ad7f29abcaf48", (-0.0000001).toString(16));assertEquals("-0.000002036565348d256", (-0.00000012).toString(16));assertEquals("-0.0000021047ee22aa466", (-0.000000123).toString(16));assertEquals("-0.0000002af31dc4611874", (-0.00000001).toString(16));assertEquals("-0.000000338a23b87483be", (-0.000000012).toString(16));assertEquals("-0.00000034d3fe36aaa0a2", (-0.0000000123).toString(16));assertEquals("4294967296", Math.pow(2,32).toString());assertEquals("ffffffff", (Math.pow(2,32)-1).toString(16));assertEquals("11111111111111111111111111111111", (Math.pow(2,32)-1).toString(2));assertEquals("5yc1z", (10000007).toString(36));assertEquals("0", (0).toString(36));assertEquals("0", (0).toString(16));assertEquals("0", (0).toString(10));assertEquals("0", (0).toString(8));assertEquals("0", (0).toString(2));assertEquals("100000000000000000000000000000000", Math.pow(2,32).toString(2));assertEquals("100000000000000000000000000000001", (Math.pow(2,32) + 1).toString(2));assertEquals("100000000000080", (0x100000000000081).toString(16));assertEquals("1000000000000100", (-(-'0x1000000000000081')).toString(16));assertEquals("100000000000000000000000000000000000000000000000010000000", (0x100000000000081).toString(2));assertEquals("-11111111111111111111111111111111", (-(Math.pow(2,32)-1)).toString(2));assertEquals("-5yc1z", (-10000007).toString(36));assertEquals("-100000000000000000000000000000000", (-Math.pow(2,32)).toString(2));assertEquals("-100000000000000000000000000000001", (-(Math.pow(2,32) + 1)).toString(2));assertEquals("-100000000000080", (-0x100000000000081).toString(16));assertEquals("-100000000000000000000000000000000000000000000000010000000", (-0x100000000000081).toString(2));assertEquals("1000", (1000).toString());assertEquals("0.00001", (0.00001).toString());assertEquals("1000000000000000100", (1000000000000000128).toString());assertEquals("1e+21", (1000000000000000012800).toString());assertEquals("-1e+21", (-1000000000000000012800).toString());assertEquals("1e-7", (0.0000001).toString());assertEquals("-1e-7", (-0.0000001).toString());assertEquals("1.0000000000000001e+21", (1000000000000000128000).toString());assertEquals("0.000001", (0.000001).toString());assertEquals("1e-7", (0.0000001).toString());assertEquals("8.8", (8.5).toString(16));assertEquals("-8.8", (-8.5).toString(16));// ----------------------------------------------------------------------// toFixedassertEquals("NaN", (NaN).toFixed(2));assertEquals("Infinity", (1/0).toFixed(2));assertEquals("-Infinity", (-1/0).toFixed(2));assertEquals("1.1111111111111111e+21", (1111111111111111111111).toFixed(8));assertEquals("0.1", (0.1).toFixed(1));assertEquals("0.10", (0.1).toFixed(2));assertEquals("0.100", (0.1).toFixed(3));assertEquals("0.01", (0.01).toFixed(2));assertEquals("0.010", (0.01).toFixed(3));assertEquals("0.0100", (0.01).toFixed(4));assertEquals("0.00", (0.001).toFixed(2));assertEquals("0.001", (0.001).toFixed(3));assertEquals("0.0010", (0.001).toFixed(4));assertEquals("1.0000", (1).toFixed(4));assertEquals("1.0", (1).toFixed(1));assertEquals("1", (1).toFixed(0));assertEquals("12", (12).toFixed(0));assertEquals("1", (1.1).toFixed(0));assertEquals("12", (12.1).toFixed(0));assertEquals("1", (1.12).toFixed(0));assertEquals("12", (12.12).toFixed(0));assertEquals("0.0000006", (0.0000006).toFixed(7));assertEquals("0.00000006", (0.00000006).toFixed(8));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -