js 四舍五入+保留两位小数
function roundToTwo(num) { return (Math.round(num e2) e-2).toFixed(2); } // 假设 num 1.005 // 得到 1.011、num e21.005 e2➡️ 拼接成字符串1.005e2。2、Math.round(...)JS 把1.005e2精准转换为数字100.5然后四舍五入变成101。3、... e-2101 e-2➡️ 拼接成字符串101e-2。4、.toFixed(2)JS 把101e-2精准转换为数字1.01然后保留两位小数变成字符串1.01。toFixed 还可以填补 0确保一定是两位5、最外层的1.01➡️ 把字符串转回数字1.01。为什么要用e2而不是直接写* 100为了解决 JavaScript 浮点数精度丢失问题console.log(1.005 * 100); // 结果不是 100.5而是 100.49999999999999最后得出的结果会是 1.00不是 1.01但是JavaScript 对科学计数法字符串形式的e的处理非常精确当你写1.005 e2时JS 会把它当成一个整体字符串1.005e2然后在内部极其精准地把它转换成数字100.5完全不会丢失精度注1000007用科学计数法e来写是1.000007e6