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小技巧 2.5 则
Sep 12 Javascript
禁止你的左键复制实用技巧
Jan 04 Javascript
javaScript函数中执行C#代码中的函数方法总结
Aug 07 Javascript
JS实现Enter键跳转及控件获得焦点
Aug 12 Javascript
jQuery 回调函数(callback)的使用和基础
Feb 26 Javascript
Jqgrid之强大的表格插件应用
Dec 02 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
Jun 03 Javascript
JS 终止执行的实现方法
Nov 24 Javascript
Vue.js实现一个todo-list的上移下移删除功能
Jun 26 Javascript
angular4笔记系列之内置指令小结
Nov 09 Javascript
Vue环境搭建+VSCode+Win10的详细教程
Aug 19 Javascript
Javascript类型判断相关例题及解析
Aug 26 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
ThinkPHP php 框架学习笔记
2009/10/30 PHP
php后门URL的防范
2013/11/12 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
bootstrap table实现横向合并与纵向合并
2019/07/18 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[00:16]热血竞技场
2019/03/06 DOTA
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
pycharm创建一个python包方法图解
2019/04/10 Python
Python map及filter函数使用方法解析
2020/08/06 Python
Python request post上传文件常见要点
2020/11/20 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
俄语专业毕业生推荐信
2013/10/28 职场文书
运动会邀请函范文
2014/02/06 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书