时间:2021-05-28
这是一个很诡异的事情,今天测试的测出来的。parseInt(1.13*100),实际返回值是112。直接看代码吧
复制代码 代码如下:
<head>
<script type="text/javascript">
function test(){
var thisvalue = 0;
thisvalue=yuanToFen($("#inp").val());
alert(thisvalue);
}
function yuanToFen(yuan){
return parseInt(yuan*100,10);//解决方法:将 此处返回改为:parseInt(yuan*1000,10)/10;
}
</script>
</head>
<body>
<div>
<input type="text" id="inp" name="pl" value="1.14"/><!-- 当输入值是:1.13、1.14、1.15、1.16时,此bug才会出现,其他数据目前没有发现有此bug -->
<input type="button" name="ok" value="确认" onclick="test();"/>
</div>
</body>
</html>
当执行以上代码时,你会发现,当你输入1.13-1.16这期间的数字时,比如输入了1.13,但是alert出来的值却是1.12,同样,输入是1.16则alert出1.15.
但是当输入2.13、3.13、0.13都不会出现这样的情况。
此bug对于最做账的业务来说尤其重要。
例如:你要给某某人汇款,汇款单位是(亿元),你汇款1.13个亿,结果实际成了1.12个亿。哈哈。开个玩笑。但是程序是讲究严谨,不管是一分钱还是零点零一分钱是谁的就是谁的,千万不能马虎。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
javascript的parseInt函数javascript的parseInt函数,大家都知道是干啥的但你知道parseInt("07")返回多少?parse
1.parseInt()//js内置函数,注意接受参数是string,所以调用该方法时存在类型转换parseInt("1.5555")//=>12.Number
参考阅读:详解js中Number()、parseInt()和parseFloat()的区别详解JS转换数值函数Number()、parseInt()、parse
本文介绍了在Javascript中进行数据类型转换的方法,如parseFloat转换成浮点数,parseInt转换成整数。这两个函数都有些容错性的,比如"123
js字符串转换成数字将字符串转换成数字,得用到parseInt函数。parseInt(string):函数从string的开始解析,返回一个整数。举例:pars