小编典典

如何在 JavaScript 中舍入一个数字?.toFixed() 返回一个字符串?

all

我在这里错过了什么吗?

var someNumber = 123.456;
someNumber = someNumber.toFixed(2);
alert(typeof(someNumber));
//alerts string

为什么.toFixed()返回一个字符串?

我想将数字四舍五入为 2 位小数。


阅读 72

收藏
2022-05-30

共1个答案

小编典典

它返回一个字符串,因为 0.1 及其幂(用于显示小数)在二进制浮点系统中不可表示(至少不能完全准确)。

例如,0.1 真的是 0.1000000000000000055511151231257827021181583404541015625,而 0.01
真的是
0.0100000000000000002081668171172168513204309378578。(感谢您BigDecimal证明我的观点。:-P)

因此(没有十进制浮点或有理数类型),将其作为字符串输出是使其精确修剪到显示所需精度的唯一方法。

2022-05-30