Javascript toFixed() 的行为在浏览器之间是否一致? (前导零和舍入)
Is behavior of Javascript toFixed() consistent between browsers? (leading zero and rounding)
我在 JSFiddle 中尝试 document.write((2/3).toFixed(3));
,结果是 0.667
。如果重要的话,我是 运行 Windows 上的 Firefox。
(2/3).toFixed(3)
总是给我"0.667"
,从不".667"
或"0.666"
或 ".666"
或其他什么?
是否允许不同的浏览器表现不同?或者我可以依靠前导零的存在并四舍五入到最接近的值吗?
toFixed
的行为已在 the JavaScript specification 中完全指定,语言环境不被视为这些步骤的一部分。因此,它的输出在 JavaScript 引擎的一致实现之间是一致的。
我在 JSFiddle 中尝试 document.write((2/3).toFixed(3));
,结果是 0.667
。如果重要的话,我是 运行 Windows 上的 Firefox。
(2/3).toFixed(3)
总是给我"0.667"
,从不".667"
或"0.666"
或 ".666"
或其他什么?
是否允许不同的浏览器表现不同?或者我可以依靠前导零的存在并四舍五入到最接近的值吗?
toFixed
的行为已在 the JavaScript specification 中完全指定,语言环境不被视为这些步骤的一部分。因此,它的输出在 JavaScript 引擎的一致实现之间是一致的。