600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > JS不四舍五入保留两位小数点的两种方法

JS不四舍五入保留两位小数点的两种方法

时间:2018-11-19 16:01:52

相关推荐

JS不四舍五入保留两位小数点的两种方法

1.使用parseInt()与toFixed()的结合

仅仅使用toFixded(2)会四舍五入。

let a = 0.99996a.toFixed(2) //(0.99996).toFixed(2) 1.00,自动四舍五入console.log(a.toFixed(2)) //1.00

可以使用parseInt()进行取整后再除以100。

let a = 0.99996parseInt(a*100)/100 //0.99996*100 = 99.996,经过parseInt取整后99再除以100 = 0.99console.log(parseInt(a*100)/100) //0.99

但是!如果小数点一位或两位为0,则只会保留整数。所以要跟toFixded(2)配合

let a = 0.909parseInt(a*100)/100 //0.909*100 = 90.9,经过parseInt取整后90再除以100 = 0.9console.log(parseInt(a*100)/100) //0.9 这时候只有保留了一位小数点(parseInt(a*100)/100).toFixed(2) //自动补全后两位 console.log((parseInt(a*100)/100).toFixed(2)) //0.90

所以无论是想保留小数点后一位还是三位,都可以用这个方法。

let a = 0.99006(parseInt(a*10)/10).toFixed(1) // 9.9006取整为 9 再除以10 等于0.9 再取后面一位 0.9console.log((parseInt(a*10)/10).toFixed(1)) //0.9let b = 0.99006(parseInt(b*1000)/1000).toFixed(3) // 990.06取整为 990 再除以1000 等于0.99 再取后面三位 0.990console.log((parseInt(b*1000)/1000).toFixed(3)) //0.990

2.Math.floor()与toFixed()的结合

其实原理跟parseInt()差不多floor()方法返回小于等于x的最大整数。如果传递的参数是一个整数,该值不变。

let a = 0.909(Math.floor(a*100)/100).toFixed(2) //自动补全后两位 console.log((Math.floor(a*100)/100).toFixed(2)) //0.90

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。