需求:三个数字加一个逗号,小数点超过2位数的只保留2位数,且不四舍五入;只有一位数的后面加“0”;没有小数点的加“.00”
方法一:直接使用JS自有方法(有的浏览器不支持,不怎么好用)
var num_s = "1232134456.546 ";
alert(parseFloat(num_s).toLocaleString()); // 1,232,134,456.546
方法二:用土办法,东搞西搞,做出想要的效果(代码较多,但好用)
var numbers = "15453545.3"
numbers = String(numbers).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"); //3个数字一截加逗号
var dotIndexOf = numbers.lastIndexOf("."); //判断点的索引号位置
var lastNumber = numbers.substring(numbers.indexOf(".") + 1, numbers.indexOf(".") + 3); //判断点后面的长度
if (dotIndexOf == "-1") {
numbers += ".00";
} else if (lastNumber.length == "1") {
numbers += "0";
} else {
numbers = numbers.substring(0, numbers.indexOf(".") + 3);
};
console.log(numbers) //15,453,545.30
网友评论