Javascript 小数点后最多2位
使用Javascript 小数点后最多2位,javascript,math,tofixed,Javascript,Math,Tofixed,使用.toFixed(2)我总是得到2个小数,即使数字是2.00 我能换成“2”吗 例如: 2.00=>2 2.05=>2.05 2.053435=>2.05 2.057435=>2.06 您可以使用Math.round(): var编号=2.005; 风险值2=2.558934; 变量编号3=1.005; 函数舍入(值,小数){ 返回数字(数学四舍五入(值+'e'+小数)+'e-'+小数); } console.log(圆形(数字,2))/>2.01 console.log(整数(2,2)
.toFixed(2)
我总是得到2个小数,即使数字是2.00
我能换成“2”吗
例如:
- 2.00=>2
- 2.05=>2.05
- 2.053435=>2.05
- 2.057435=>2.06
Math.round()
:
var编号=2.005;
风险值2=2.558934;
变量编号3=1.005;
函数舍入(值,小数){
返回数字(数学四舍五入(值+'e'+小数)+'e-'+小数);
}
console.log(圆形(数字,2))/>2.01
console.log(整数(2,2))/>2.56
console.log(圆形(数字3,2))/>1.01
函数,用于FixedifNecessary(值,dp){
return+parseFloat(值).toFixed(dp);
}
console.log(toFixedIfNecessary(1.999,2));//2.
console.log(toFixedIfNecessary(2,2));//2.
console.log(toFixedIfNecessary(2.1,2));//2.1
console.log(toFixedIfNecessary(2.05,2));//2.05
console.log(toFixedIfNecessary(2.05342,2));//2.05
console.log(toFixedIfNecessary(2.04999,2));//2.05
console.log(toFixedIfNecessary(2.04499,2));//2.04
console.log(toFixedIfNecessary(2.053435,2));//2.05
console.log(toFixedIfNecessary(2.057435,2));//2.06
可能重复,但这也表明我使用了toFixed(2),但它的工作方式与我希望使用投票最多的答案中的脚本不一样?这里是Math.round(1.005*100)/100
返回1
,它应该返回1,因为我们需要最多2位小数,但是如果输入1.05,它将返回1.05,或者如果输入1.051264,它将返回1。05@NevenIgnjic1.005
到2dp是1.01
不是1
这取决于,当输入值介于需要捕捉的值之间的一半时,我遇到了两种舍入类型。1.捕捉到较高或较低的值2。捕捉到最接近的偶数或奇数,所以这一切都取决于什么样的软件在计算这个,但对OP来说,这些都不重要。这是什么剑?有人能解释一下+parseFloat为什么有这种行为吗?@homebrand the+将toFixed的字符串输出转换回float。在控制台中尝试+“2.00”