你不知道的 JavaScript 系列中( 7 ) -数字
JS 中的数字常量一般用十进制表示
var a = 42; var b = 42.3
数字前面的 0 可以省略
var a = 0.42 var b = .42
小数点后小数部分最后面的 0 也可以省略
var a = 42.0; var b = 42.;
特别大和特别小的数字默认用指数格式显示,与 toExponential() 函数的输出结果相同
var a = 5E10; a; // 50000000000 a.toExponential(); // 5e+10 var b = a * a; b; // 2.5e+21 var c = 1 / a; c; // 2e-11
toPrecision(...) 方法用来指定有效数位的显示位数
var a = 42.59; a.toPrecision(1); // 4e+1 a.toPrecision(2); // 43 a.toPrecision(3); // 42.6 a.toPrecision(4); // 42.59 a.toPrecision(5); // 42.590 a.toPrecision(6); // 42.5900
toFixed() 方法可指定小数部分的显示位数
var a = 42.59; a.toFixed(0); // 43 a.toFixed(1); // 42.6 a.toFixed(2); // 42.59 a.toFixed(3); // 42.590 a.toFixed(4); // 42.5900
上述方法不仅适用于数字变量,也适用于数字常量
42.toFixed(3); // SyntaxError,无效语法 42..toFixed(3); // "42.000" (42).toFixed(3); // "42.000" 42 .toFixed(3); // "42.000" 0.42.toFixed(3); // "0.420"
42.toFixed(3)是无效语法,因为 . 被视为常量 42. 的一部分,所以没有调用。42..toFixed(3) 则没有问题。0.42.toFixed(3) 在基本类型值上直接调用的方法并不多见,不过这并不代表不好或不对。42 .toFixed(3)是有效的,注意其中的空格,这样的语法很容易引起误会,不建议使用