如何将JavaScript计算输出结果取整为整数?
解决JavaScript计算结果取整的问题
嘿,这事儿很容易搞定!你只需要用JavaScript内置的取整方法,把每个计算结果包裹起来就行。下面给你几种常用方案,你可以根据自己的业务需求选:
常用取整方法说明
- Math.round():四舍五入到最近整数(比如
2.4→2,2.6→3),适合需要常规四舍五入的场景 - Math.floor():向下取整(不管小数部分是多少都舍去,比如
2.9→2,-2.1→-3),适合金额计算不想多算的情况 - Math.ceil():向上取整(只要有小数就进一位,比如
2.1→3,-2.9→-2),适合需要保证结果不小于原数的场景 - parseInt():直接截断小数部分(和Math.floor不同的是,负数会取靠近0的整数,比如
parseInt(-2.9)→-2) - 位运算技巧:比如
~~计算式或者计算式 | 0,性能不错,但只适用于32位整数范围内的数(大概-231到231-1)
修改后的代码示例
这里用**Math.round()**给你改好代码,你可以根据需求替换成上面其他方法:
outputs[0].textContent = Math.round(value / 0.7); outputs[1].textContent = Math.round(value); // 这里value*1等价于value,直接简化了 outputs[2].textContent = Math.round(value / 0.7 - (value / 0.7 / 100 * 40)); outputs[3].textContent = Math.round(value); // 同样简化了value*1 outputs[4].textContent = Math.round(value / 0.7 - (value / 0.7 / 100 * 20)); outputs[5].textContent = Math.round(value / 0.7 - (value / 0.7 / 100 * 10));
举个实际例子,如果value是140,用Math.round的话:
- outputs[0]就是
Math.round(140/0.7)=Math.round(200)=200 - outputs[2]就是
Math.round(200 - 200*0.4)=Math.round(120)=120,完美得到整数结果!
小提示
如果你的计算结果都是正数,那Math.floor、parseInt和位运算的效果差不多;如果涉及负数,一定要注意它们的行为差异哦~
内容的提问来源于stack exchange,提问作者Lewis
相关产品推荐
相关产品推荐

