JS 控制小数位数的实现代码
昨天在用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;
}
相关推荐
-
关于数据库中保留小数位的问题
在数据库中有时我们可能需要对一些数据进行处理,例如四舍五入.直接舍去后面的几位等,其实很简单,都是有现成的函数,我们只需要套用就行了:select round(10.98*10)/10 from dual;--四舍五入select ceil(10.63*10)/10 from dual;--取上限值select floor(10.68*10)/10 from dual;--取下限值
-
java小数位的例子
方式一:四舍五入double f = 111231.5585;四舍五入 保留两位小数,可以用String的format函数,方法如下: 复制代码 代码如下: System.out.println(String.format("%.2f", x1));System.out.println(String.format("%.2f", x2)); DecimalFormat转换最简便 复制代码 代码如下: public void m2() { De
-
java精度计算代码 java指定精确小数位
本文实例为大家分享了java指定精确小数位的具体代码,供大家参考,具体内容如下 java代码: public class App2 { public static void main(String[] args) { String val = checkNumber("10.1234155", 2, 6).toString(); System.out.println(val); } public static BigDecimal checkNumber(String number,
-
javascript避免数字计算精度误差的方法详解
如果我问你 0.1 + 0.2 等于几?你可能会送我一个白眼,0.1 + 0.2 = 0.3 啊,那还用问吗?连幼儿园的小朋友都会回答这么小儿科的问题了.但是你知道吗,同样的问题放在编程语言中,或许就不是想象中那么简单的事儿了.不信?我们先来看一段 JS. var numA = 0.1; var numB = 0.2; alert( (numA + numB) === 0.3 ); 执行结果是 false.没错,当我第一次看到这段代码时,我也理所当然地以为它是 true,但是执行结果让我大跌眼镜
-
C# 小数位数保留的方法集锦
1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo(); provider.NumberDecimalDigits =intDecLength; //要设定的小数位数 double strCashAmt=Convert.ToDouble(this.txtCashAmt.Text); //先把控件內的值转成double this.txtCashAmt.Text =
-
js计算精度问题小结
复制代码 代码如下: //问题比如:7*0.8 JavaScript算出来就是:5.6000000000000005 //加法函数,用来得到精确的加法结果 //说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果. //调用:accAdd(arg1,arg2) //返回值:arg1加上arg2的精确结果 function accAdd(arg1, ar
-
用js格式化金额可设置保留的小数位数
复制代码 代码如下: //金额的格式化s为要格式化的参数(浮点型),n为小数点后保留的位数 function formatMoney(s,n){ n = n>0 && n<=20 ? n : 2; s = parseFloat((s+"").replace(/[^\d\.-]/g,"")).toFixed(n)+""; var l = s.split(".")[0].split("&quo
-
C# double和decimal数据类型以截断的方式保留指定的小数位数
项目中要用到以截断的方式取小数点后两位,故写了以下方法: 复制代码 代码如下: /// <summary> /// 将小数值按指定的小数位数截断 /// </summary> /// <param name="d">要截断的小数</param> /// <param name="s">小数位数,s大于等于0,小于等于28</param> /// <returns></retur
-
python通过floor函数舍弃小数位的方法
本文实例讲述了python通过floor函数舍弃小数位的方法.分享给大家供大家参考.具体分析如下: python中可以通过math库的floor函数来舍弃浮点数后面的小数位 import math print(math.floor( x )) 例如:x=1.2,返回1.0 其返回值为浮点数,如果希望返回整数,可以写成: import math #from jb51.net print(int(math.floor( x ))) 输出结果:1 希望本文所述对大家的Python程序设计有所帮助.
-
PHP四舍五入精确小数位及取整
进一法取整.四舍五入取整.忽略小数等的取整数方法大全 PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval 一.ceil - 进一法取整 说明float ceil ( float value )
随机推荐
- JavaScript之Getters和Setters 平台支持等详细介绍
- 注册表-批处理-VBS之间的相互结合应用第1/2页
- js 调整select 位置的函数
- php使用Session和文件统计在线人数
- mysql中order by与group by的区别
- c#动态改变webservice的url访问地址
- Linux下rsync远程数据同步命令的详细介绍
- 举例讲解设计模式中的访问者模式在Java编程中的运用
- JS+Canvas 实现下雨下雪效果
- 推荐六款WEB上传组件性能测试与比较第1/10页
- nginx+rsync+inotify实现负载均衡配置方法
- Android实现拍照、选择相册图片并裁剪功能
- java 单例模式(懒汉式与饿汉式)
- VC多线程编程详解
- 浅谈Arrays.asList() 和ArrayList类型区别
- 非常漂亮的新年祝福!C语言实现漂亮的烟花效果
- Java实现的按照顺时针或逆时针方向输出一个数字矩阵功能示例
- iOS App使用GCD导致的卡顿现象及解决方法
- Windows下Python3.6安装第三方模块的方法
- 易语言支持库简单安装加载添加