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创建对象的写法
Aug 29 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
Sep 19 Javascript
JS基于Mootools实现的个性菜单效果代码
Oct 21 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
Feb 19 Javascript
jQuery、zepto、js常用小技巧
Feb 12 Javascript
Bootstrap table 定制提示语的加载过程
Feb 20 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
Apr 26 Javascript
Angular4表单验证代码详解
Sep 03 Javascript
angularJs中ng-model-options设置数据同步的方法
Sep 30 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
Mar 07 jQuery
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 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
php mysql数据库操作类
2008/06/04 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
PHP实现的sqlite数据库连接类
2014/12/12 PHP
php使用google地图应用实例
2014/12/31 PHP
PHP 正则表达式小结
2015/02/12 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
JS执行删除前的判断代码
2014/02/18 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
2016/01/12 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
Python内置模块turtle绘图详解
2017/12/09 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
英国综合网上购物商城:The Hut
2018/07/03 全球购物
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
新郎婚宴答谢词
2014/01/19 职场文书
医学求职自荐信
2014/06/21 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
周年庆典答谢词
2015/01/20 职场文书
捐书仪式主持词
2015/07/04 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang