// 丢弃小数部分,保留整数部分
parseInt(5/2)// 2
2.向上取整
// 向上取整,有小数就整数部分加1
Math.ceil(5/2)// 3
3.向下取整
// 向下取整,丢弃小数部分
Math.floor(5/2)// 2
4四舍五入
// 四舍五入
Math.round(5/2)// 3
javascript中的运算时存在问题的,下面以除法为例,仅供参考:javascript中的除法问题:
计算一下:
8.80 * 100 * 12 / 100
结果:105.60000000000002
38.80也会出现类似的问题。
精确度增加10倍:
8.80 * 1000 * 12 / 1000
结果:105.6
正常了。
16.40 * 1000000 * 6 / 1000000
结果也有问题
为了让js执行的更准确,在以后的js小数计算中直接将值扩大10000倍,再除以10000,就可以解决问题。
var num = 38.80
var num2 = 13
alert(num * 10000 * 12 / 10000)
被乘和除的这个数经过测试10000最合适,小了有些数字出问题,大了(1000000)有些数字也出问题。
<script type="text/javascript">function G(e){return document.getElementById(e)}
</script>
单价:<input type="text" id="p" name="price" onkeyup="this.value=this.value.replace(/[^0-9\.]/g,'')" onblur="G('total').value = this.value / 0.9"/>
金额:<input type="text" id="total" name="total" />
输入完单价,点金额的输入框就好~~