直接上代码:
案例一:
简介:数字转化为千分位,按照传入的参数保留固定小数位
// 数字转为千分位,并保留两个小数位
function numberFilter(oldNum, isFixed) { // 例(123456.78)
if (oldNum === "") return {}; // 传入的数值为空直接返回空对象
let newNum = oldNum.toLocaleString("en-US"); // 数字转成千分位 = 123,456.78
const numArr = newNum.split("."); // 按小数点吧数字拆分 = [123,456, 78]
if (!isFixed) { // 如果传了第二个参数,如果有小数位直接返回,否则向下执行
if (!numArr[1]) { // 如果数组没有下标1的元素,就加.00,例:123,456 = 123,456.00
newNum = newNum + ".00";
} else if (numArr[1].length === 1) { // 如果数组下标1的元素只有一位小数,就加个0,例:123,456.7 = 123,456.70
newNum = newNum + "0";
} else if (numArr[1].length >= 2) { // // 如果数组下标1的元素小数位大于等于2位,就截取前两位,例:123,456.789 = 123,456.78
newNum = numArr[0] + "." + numArr[1].substr(0, 2);
}
}
return { oldNum, newNum };
}
案例二:
简介:数字转化为千分位,按四舍五入保留两位小数,没小数时带.00
numberFormats(num) {
if (num) {
let nums = Number(num).toFixed(2)
let newNum = Number(nums).toLocaleString("en-US"); // 数字转成千分位 = 123,456.78
const numArr = newNum.split("."); // 按小数点吧数字拆分 = [123,456, 78]
if (!numArr[1]) { // 如果数组没有下标1的元素,就加.00,例:123,456 = 123,456.00
newNum = newNum + ".00";
} else if (numArr[1].length === 1) { // 如果数组下标1的元素只有一位小数,就加个0,例:123,456.7 = 123,456.70
newNum = newNum + "0";
} else if (numArr[1].length >= 2) { // // 如果数组下标1的元素小数位大于等于2位,就截取前两位,例:123,456.789 = 123,456.78
newNum = numArr[0] + "." + numArr[1].substr(0, 2);
}
return newNum;
} else {
return '0.00'
}
},