让我给你举个例子。
var a = 2.0;
var stringA = "" + a;
我会得到:stringA = "2"
,但我想要:stringA = "2.0"
。
但是,我不想失去精度,因此:
var b = 2.412;
var stringB = "" + b;
我要获取标准:stringB = "2.412"
。
这就是为什么toFixed()
在这里不起作用。除了显式检查像这样的整数之外,还有其他方法吗?:
if (a % 1 === 0)
return "" + a + ".0";
else
return "" + a;
如果要追加.0
从Number到String转换的输出并为非整数保持精度,只需测试整数并对其进行特殊处理。
function toNumberString(num) {
if (Number.isInteger(num)) {
return num + ".0"
} else {
return num.toString();
}
}
Input Output
3 "3.0"
3.4567 "3.4567"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句