让我给你举个例子.
var a = 2.0;
var stringA = "" + a;
Run Code Online (Sandbox Code Playgroud)
我会得到:stringA = "2"但我想要:stringA = "2.0".
我不想丢失精度,所以如果:
var b = 2.412;
var stringB = "" + b;
Run Code Online (Sandbox Code Playgroud)
我想得到标准:stringB = "2.412".
这就是为什么toFixed()不能在这里工作.有没有其他方法可以做到,而不是明确检查这样的整数?:
if (a % 1 === 0)
return "" + a + ".0";
else
return "" + a;
Run Code Online (Sandbox Code Playgroud)
Nie*_*sol 14
这有一个内置功能.
var a = 2;
var b = a.toFixed(1);
Run Code Online (Sandbox Code Playgroud)
这会将数字四舍五入到小数点后一位,并将其显示为小数点后一位,即使它为零.
如果要追加.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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12189 次 |
| 最近记录: |