js 怎么截取后面2位小数点?

JavaScript06

js 怎么截取后面2位小数点?,第1张

在js中有时要用到取float数字的小数点后两位的情况。<br><br>var num=10/3<br>function f(num,n){<br>return parseint(num*math.pow(10,n)+0.5,10)/math.pow(10,n)<br>}<br>alert(f(num,2))<br><br>以上就是小编为大家带来的js取数字小数点后两位或n位的简单方法全部内容了,希望大家多多支持脚本之家~

舍入是使用数字时最常见的操作之一。

这里有几个对数字进行舍入的内建函数:

//向下舍入:3.1变成3,-1.1变成-2

//向上舍入:3.1变成4,-1.1变成-1

//向最近的整数舍入:3.1变成3,3.6变成4,中间值3.5变成4

//移除小数点后的所有内容而没有舍入:3.1变成3,-1.1变成-1

这些函数涵盖了处理数字小数部分的所有可能方法。但是,如果我们想将数字舍入到小数点后 n 位改怎么办?

例如,我们有 1.2345 ,并且想把它舍入到小数点后两位,仅得到 1.23 。

有两种方法可以实现这个需求:

1.乘除法

例如,要将数字舍入到小数点后两位,我们可以将数字乘以 100 (或更大的 10 的整数次幂),调用舍入函数,然后再将其除回。

2.函数 toFixed(n) 将数字舍入到小数点后 n 位,并以字符串形式返回结果。

这会向上或向下舍入到最接近的值,类似于Math.round():

请注意 tofixed 的结果是一个字符串。如果小数部分比需要的短,则在结尾添加 0 :

我们可以使用一元加号或 Number() 调用,将其转换为数字: +num.toFixed(5)

小数点保留两位小数,可以直接使用js自带的toFix()方法,但这个方法存在兼容问题,

IE的低版本浏览器不支持这个函数。如果考虑兼容,就需要自己编写了。

下面是简单的实现,没有进行大数据验证,所以仅供参考:

function myFix(num){

    if(isNaN(parseFloat(num))){

        return false

    } else {

        return Math.ceil(num*100)/100

    }

}

myFix(4.5234234) //4.52

myFix(4.55555)  //4.56