Discuz教程网

JS 控制小数位数的实现代码

[复制链接]
authicon dly 发表于 2011-9-14 08:28:31 | 显示全部楼层 |阅读模式
昨天在用JS对前台浮点数进行合算时发现:
0.05+1.08=1.1300000000000001
  上网查一查的确存在这种Bug,除了位数上控制之外也没什么也好的方法(希望高手能提出
其它思路)。
  于是自己编写一个控制小数位数的JS方法,解决开发燃眉之急
  1. //小数位数控制,可以四舍五入
  2. function Fractional(n) {
  3. //小数保留位数
  4. var bit = 2;
  5. //加上小数点后要扩充1位
  6. bit++;
  7. //数字转为字符串
  8. n = n.toString();
  9. //获取小数点位置
  10. var point = n.indexOf('.');
  11. //n的长度大于保留位数长度
  12. if (n.length > point + bit) {
  13. //保留小数后一位是否大于4,大于4进位
  14. if (parseInt(n.substring(point + bit, point + bit + 1)) > 4) {
  15. return n.substring(0, point) + "." + (parseInt(n.substring(point + 1, point + bit)) + 1);
  16. }
  17. else {
  18. return n.substring(0, point) + n.substring(point, point + bit);
  19. }
  20. }
  21. return n;
  22. }
复制代码



上一篇:JavaScript 大数据相加的问题
下一篇:用JS判别浏览器种类以及IE版本的几种方法小结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 08:47

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表