参考:https://blog.csdn.net/u011511086/article/details/54613958
上方参考链接只是补0,下方代码在此基础上实现完整功能。
下方代码解释的很清楚,大家可以直接复制使用!
/**
* 将number保留bitNum位小数,不够补0
* @param number
* @param bitNum
* @returns {string|number}
*/
function changeDecimal(number, bitNum) {
var f_x = parseFloat(number);
if (isNaN(f_x)) {
return 0;
}
var s_x = number.toString();
var pos_decimal = s_x.indexOf('.');
//没有小数点的加上小数点
if (pos_decimal < 0) {
pos_decimal = s_x.length;
if(bitNum!=0){
s_x += '.';
}else{
//没有小数点还要保留0位小数
return s_x;
}
}
if(s_x.length <= pos_decimal + bitNum ) {
//eg:122 保留2位小数
//return 122.00
while (s_x.length <= pos_decimal + bitNum) {
s_x += '0';
}
}else{
//eg:1.222222 保留2位小数
//return 1.22
s_x=s_x.substring(0, pos_decimal + bitNum+1)
}
return s_x;
}