JavaScript
发布时间:2022-04-16 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了实现js保留小数点后N位的代码,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在JS中,一般实现保留小数点后N位的话,都是利用toFixed函数
JS保留两位小数例子
"
);
var a=2.1512131231231321;
document.write("原来的值:"+a+"
"
);
document.write("两位小数点:"+a.toFixed(2)+"
四位小数点"+a.toFixed(4)
);
四舍五入的转换函数,如下:
0;t*=10,e--
);
for(;e<0;t/=10,e++
);
return Math.
round(v*t)/t;
}
参数里的:
v表示要转换的值
e表示要保留的位数
函数里的两个for,这个是重点了,
第一个for针对小数点右边的情况,也就是保留小数点右边多少位;
第二个for针对小数点左边的情况,也就是保留小数点左边多少位。
for的作用,就是计算t的值,也就是v应该放大或者缩小多少倍的倍数(倍数=t)。
for这里利用到了for里的两个特性,条件判断和计数器累计(循环),
当e满足条件时for继续,并且e每次累加(e的每次累加,就是给for制造不满足循环的条件)的同时,也计算t的值。
最后利用了原生的round方法来计算被放大/缩小后的v的结果,然后把结果放大/缩小到正确的倍数
下面各种保留二位数实例
decimal(
X) {
var f = parseFloat(
X);
if (isNaN(f))
{
return;
}
f = Math.
round(x*100)/100;
return f;
}
//制
保留2位小数,如:2,会在2后面补上00.即2.00
function to
decimal2(
X) {
var f = parseFloat(
X);
if (isNaN(f))
{
return
false;
}
var f = Math.
round(x*100)/100;
var s = f.to
String(
);
var rs =
s.indexOf('.'
);
if (rs < 0)
{
rs =
s.length;
s += '.';
}
while (
s.length <= rs + 2)
{
s += '0';
}
return s;
}
function fomatFloat(src,pos)
{
return Math.
round(src*Math.pow(10,pos))/Math.pow(10,pos
);
}
//四舍五入
alert("
保留2位小数:" + to
decimal(3.14159267)
);
alert("强制
保留2位小数:" + to
decimal2(3.14159267)
);
alert("
保留2位小数:" + to
decimal(3.14559267)
);
alert("强制
保留2位小数:" + to
decimal2(3.15159267)
);
alert("
保留2位小数:" + fomatFloat(3.14559267,2)
);
alert("保留1位小数:" + fomatFloat(3.15159267,1)
);
//五舍六入
alert("
保留2位小数:" + 1000.003.toFixed(2)
);
alert("保留1位小数:" + 1000.08.toFixed
(1));
alert("保留1位小数:" + 1000.04.toFixed
(1));
alert("保留1位小数:" + 1000.05.toFixed
(1));
//科学计数
alert(3.1415.toExponential(2)
);
alert(3.1455.toExponential(2)
);
alert(3.1445.toExponential(2)
);
alert(3.1465.toExponential(2)
);
alert(3.1665.toExponential
(1));
//精确到n位,不含n位
alert("精确到小数点第2位" + 3.1415.toPrecision(2)
);
alert("精确到小数点第3位" + 3.1465.toPrecision(3)
);
alert("精确到小数点第2位" + 3.1415.toPrecision(2)
);
alert("精确到小数点第2位" + 3.1455.toPrecision(2)
);
alert("精确到小数点第5位" + 3.141592679287.toPrecision(5)
);
以上就是全部代码了,是不是超级简单,希望对大家能有所帮助
大佬总结
以上是大佬教程为你收集整理的实现js保留小数点后N位的代码全部内容,希望文章能够帮你解决实现js保留小数点后N位的代码所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。