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


Posted in Javascript onAugust 02, 2011

昨天在用JS对前台浮点数进行合算时发现:
0.05+1.08=1.1300000000000001

上网查一查的确存在这种Bug,除了位数上控制之外也没什么也好的方法(希望高手能提出
其它思路)。

于是自己编写一个控制小数位数的JS方法,解决开发燃眉之急

//小数位数控制,可以四舍五入 
function Fractional(n) { 
//小数保留位数 
var bit = 2; 
//加上小数点后要扩充1位 
bit++; 
//数字转为字符串 
n = n.toString(); 
//获取小数点位置 
var point = n.indexOf('.'); 
//n的长度大于保留位数长度 
if (n.length > point + bit) { 
//保留小数后一位是否大于4,大于4进位 
if (parseInt(n.substring(point + bit, point + bit + 1)) > 4) { 
return n.substring(0, point) + "." + (parseInt(n.substring(point + 1, point + bit)) + 1); 
} 
else { 
return n.substring(0, point) + n.substring(point, point + bit); 
} 
} 
return n; 
}
Javascript 相关文章推荐
让firefox支持IE的一些方法的javascript扩展函数代码
Jan 02 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
Feb 13 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
Mar 13 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
利用node.js如何创建子进程详解
Dec 09 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
Jan 30 Javascript
详解angular2.x创建项目入门指令
Oct 11 Javascript
JavaScript实现新年倒计时效果
Nov 17 Javascript
全面分析JavaScript 继承
May 30 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 jQuery
vue3中轻松实现switch功能组件的全过程
Jan 07 Vue.js
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 #Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
Aug 02 #Javascript
基于jquery实现漂亮的动态信息提示效果
Aug 02 #Javascript
基于jQuery替换table中的内容并显示进度条的代码
Aug 02 #Javascript
jQuery动态添加的元素绑定事件处理函数代码
Aug 02 #Javascript
jQuery ajax 路由和过滤器使用说明
Aug 02 #Javascript
js禁止小键盘输入数字功能代码
Aug 01 #Javascript
You might like
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
PHP日期函数date格式化UNIX时间的方法
2015/03/19 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
jQuery 使用手册(三)
2009/09/23 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
2014/01/24 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
django 将model转换为字典的方法示例
2018/10/16 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
初中生学习的自我评价
2013/11/14 职场文书
三年级音乐教学反思
2014/01/28 职场文书
党支部审查意见
2015/06/02 职场文书