原答案有错,我提供一个原理和他一样的吧。
var n = 123.123//你的数字var nStrList = n.toString().split(".")
var result = nStrList.length>1?nStrList[1].length:0
如上,result就是你的小数位数。但是这种方法也有问题哦,如果数字是10.00的话,就会被认为没有小数位的。就是说变成字符串的只是有效数字部分了。
JS判断数字里面是否有小数点
js如何判断小数点后有几位?
第一种,利用math.round
var original=28.453
1) //round "original" to two decimals
var result=Math.round(original*100)/100 //returns 28.45
2) // round "original" to 1 decimal
var result=Math.round(original*10)/10 //returns 28.5
第二种,js1.5以上可以利用toFixed(x) ,可指定数字截取小数点后 x位
3) //round "original" to two decimals
var result=original.toFixed(2)//returns 28.45
4) // round "original" to 1 decimal
var result=original.toFixed(1)//returns 28.5