常用的大数运算库包括:
首先遇见这个问题,我的第一反应是看这个浮点数的计算是应用于什么场景,如果是金额的计算, 让后端去处理,这个责任咱们前端不能担着,啊哈哈哈哈
如果是平时的计算,与其考虑什么二进制十进制的转换,直接用库去解决岂不是方便,直接看文档 看看怎么处理的
知识薄弱点: .toFixed()
可把Number 四舍五入为指定小数位数的数字 注意:五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一 注意:(银行家算法)在谷歌浏览器下不适用这个规则
var numObj = 12345.6789;
numObj.toFixed(); // 返回 "12346":进行四舍六入五看情况,不包括小数部分
numObj.toFixed(1); // 返回 "12345.7":进行四舍六入五看情况
numObj.toFixed(6); // 返回 "12345.678900":用 0 填充
(1.23e+20).toFixed(2); // 返回 "123000000000000000000.00"
(1.23e-10).toFixed(2); // 返回 "0.00"
2.34.toFixed(1); // 返回 "2.3"
2.35.toFixed(1) // 返回 '2.4'. Note it rounds up
2.55.toFixed(1) // 返回 '2.5'. Note it rounds down - see warning above
-2.34.toFixed(1); // 返回 -2.3(由于操作符优先级,负数不会返回字符串)
(-2.34).toFixed(1); // 返回 "-2.3"(若用括号提高优先级,则返回字符串)
Number.parseFloat(string)
字符串解析成一个浮点数,不满足条件返回NaN
Math.floor()
函数总是返回小于等于一个给定数字的最大整数。
console.log(Math.floor(5.95));
// Expected output: 5
console.log(Math.floor(-5.05));
// Expected output: -6