在开发过程中,我们
经常会遇到
调整十进制数的格式,例如小数点后保留的两位,这种
方法也很常见,备忘录如下。
首先,使用math.round
var原始= 28.453
1) / /圆原始两个小数
VaR结果= math.round(原100) / / /返回100;28.45
2)原到1个小数。
VaR结果= math.round(原10) / / /返回10;28.5
其次,js1.5可以使用固定的(X)到小数点后的X点指定一个数
3) / /圆原始两个小数
var result = original.tofixed(2); / /返回28.45
4)原到1个小数。
var result = original.tofixed(1); / /返回28.5
上述两种方法是最常见的,但不能满足某些特殊要求,如保留小数点后两个,如果小于二,小于二补零。此时有第三种方法。
第三,
转换功能,此段代码来自国外论坛。
复制代码代码如下所示:
功能roundnumber(数、小数){
无功newstring新圆数; / /
小数=数(小数);
如果(小数<1){
newstring =(math.round(数))ToString();
{人}
无功numstring = number.tostring();
如果(numstring.lastindexof(,)= = 1)如果没有小数点{ / /
numstring =给它。; / /一个尽头
}
VaR截止= numstring.lastindexof(, /)+小数点;截断数
VaR D1 =数(numstring.substring(截止,截止1)); / /最后一位小数,我们将最终的价值
VaR D2 =数(numstring.substring(截止1,截止2)); / /下一个小数点,最后一个希望
如果(如果需要的话,我们需要{ 5),那么字符串将被截断。
如果(D1 = 9截止值> 0){如果最后一个数字被找到一个新的截止点9。
而(截止> 0(D1 = 9 | | isnan(D1))){
If (D1! = {){
截止= 1;
D1 =数(numstring.substring(截止,截止1));
{人}
截止= 1;
}
}
}
D1=1;
}
如果(D1=10){
numstring = numstring.substring(0,numstring.lastindexof(,));
无功roundednum =数(numstring)+ 1;
newstring = roundednum.tostring(+)'。;
{人}
newstring = numstring.substring(0,截止)+ d1.tostring();
}
}
如果(newstring.lastindexof(,)= = 1){ / /做了,到新的字符串
newstring = ;
}
VaR DECS =(newstring.substring(newstring.lastindexof(,)+ 1)))。长度;
对于(var i = 0;i <小数和我+ +;newstring = 0);
/ /无功newnumber =数(newstring); / /使它成为一个数如果你喜欢
document.roundform.roundedfield.value = newstring结果; / /输出表单字段(为您的目的变化)
}
5) / /圆原始两个小数
var result = original.tofixed(2); / /返回28.45
6)原到1个小数。
var result = original.tofixed(1); / /返回28.5
var原始= 28.4
var result = original.tofixed(2); / /返回28.40