请教一个车价的显示正则匹配:
1500000 显示150万;
1505500 显示150.55万;
1505550 显示150.56万四舍五入百以后的数值
求解~
['1500000','1505500','1505550'].forEach(function(item){
console.log(item.replace(/^(\d+)(?=\d{4})(\d{2})(\d+)$/,'$1.$2万'))
})
四舍五入忽然不想写了。
我觉得函数也可以达到,所以就用函数来写。
写一个简单的:
var x = 1500000;
function handlePrice(num) {
if(typeof num != "number") return "wrong number";
if(num >= 100) {
num = num/10000;
num = num.toFixed(2);
return num + "万";
}
return num;
}
PS:
1 JavaScript中的浮点数计算可能会有点问题,所以建议重写一个做除法运算的函数.
2 如果题主一定要正则表达式,那就只能看别人的答案了。
var n = 1505550;
var a = 1500000;
var b = 1505500;
var m =(Math.round(n/100)/100).toFixed(2);
var c =(Math.round(a/100)/100).toFixed(2);
var d =(Math.round(b/100)/100).toFixed(2);
alert(m);alert(c);alert(d);
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决
很早以前写的,你再测试一下。