我有不同格式的价格,需要显示如下:
1.09-----> 1.09
1.00----> 1
1.00 lb --->1lb
1.09 lb---->1.09lb
我需要帮助构建 JavaScript 的正则表达式,以便以指定格式显示上述价格。
最佳答案
使用 parseFloat
和 Number.toString
解析并格式化数字部分。添加特殊情况来处理 LB:
function formatPrice(price) {
return parseFloat(price) + (price.match(/ .+$/) ? price.match(/ (.+)$/)[1] : "");
}
console.log(formatPrice("1.00")); // 1
console.log(formatPrice("1.09")); // 1.09
console.log(formatPrice("1.09000")); // 1.09
console.log(formatPrice("1.00 lb")); // 1lb
console.log(formatPrice("1.09 lb")); // 1.09lb
console.log(formatPrice("1.09 kg")); // 1.09kg
关于JavaScript 正则表达式 - 使用尾随零和字符串格式化十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25361296/