Javascript 函数parseInt()转换时出现bug问题


Posted in Javascript onMay 20, 2014

这是一个很诡异的事情,今天测试的测出来的。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个亿。哈哈。开个玩笑。但是程序是讲究严谨,不管是一分钱还是零点零一分钱是谁的就是谁的,千万不能马虎。

Javascript 相关文章推荐
javascript XMLHttpRequest对象全面剖析
Apr 24 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
Oct 20 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Apr 01 Javascript
使用vue编写一个点击数字计时小游戏
Aug 31 Javascript
angularJS 指令封装回到顶部示例详解
Jan 22 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
Aug 17 Javascript
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
vue2.0 如何在hash模式下实现微信分享
Jan 22 Javascript
微信小程序实现带参数的分享功能(两种方法)
May 17 Javascript
JS Array.from()将伪数组转换成数组的方法示例
Mar 23 Javascript
JavaScript实现页面动态验证码的实现示例
Mar 23 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
May 20 #Javascript
Jquery插件分享之气泡形提示控件grumble.js
May 20 #Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
May 20 #Javascript
jQuery.holdReady()使用方法
May 20 #Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 #Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 #Javascript
特殊情况下如何获取span里面的值
May 20 #Javascript
You might like
header跳转和include包含问题详解
2012/09/08 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
2016/07/15 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
JS实现弹性菜单效果代码
2015/09/07 Javascript
jQuery使用方法
2017/02/04 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
AngularJS Toaster使用详解
2017/02/24 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
js实现QQ邮箱邮件拖拽删除功能
2020/08/27 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
python matplotlib库直方图绘制详解
2019/08/10 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
医德医风演讲稿
2014/05/20 职场文书
个人向公司借款协议书
2014/10/09 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
vue router 动态路由清除方式
2022/05/25 Vue.js