在decimal之后添加两位数字-regex jquery
现在我用这个正则表达式返回带有格式化数字的数字在decimal之后添加两位数字-regex jquery,jquery,regex,Jquery,Regex,现在我用这个正则表达式返回带有格式化数字的数字 function formatCurrency(amount) { var amt = ""+amount; return amt.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); } 提供的任何数字的结果都将到期:1944.5美元。 但我需要在小数点后加上两位数,它应该是到期的:$1944.50。请帮我用正确的正则表达式在小数点后加两位数。谢谢你的帮助 如果您只是将数字格式化为小数点后2位,
function formatCurrency(amount) {
var amt = ""+amount;
return amt.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
}
提供的任何数字的结果都将到期:1944.5美元。
但我需要在小数点后加上两位数,它应该是到期的:$1944.50。请帮我用正确的正则表达式在小数点后加两位数。谢谢你的帮助 如果您只是将数字格式化为小数点后2位,regex似乎有些过分,您可以使用以下命令:
退货金额固定(2)代码>
除非有特定的原因,你绝对必须使用正则表达式?如果你想用正则表达式添加尾随的零,你可以这样做
function formatCurrency(amount) {
var amt = ""+amount;
amt = amt.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
return amt.replace(/(\.\d{1})$/, "$1"+"0");
}
要确保小数点后始终有两位数,即使没有美分,也可以在应用正则表达式之前使用.toFixed(2)
function formatCurrency(amount) {
// Ensures there are 2 decimal places
var amt = parseFloat(amount).toFixed(2);
// Add commas for every block of 3 digits
return amt.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
}
此操作不需要使用正则表达式
function formatCurrency(amount) {
return parseFloat(amount).toFixed(2);
}
现在,这只适用于西方货币。替换(?和替换(?可能与您的货币几乎相同。parseFloat(可能是string)。toFixed(2)
这是可行的,但如果没有小数点,则不会添加两个零。如果句点后没有数字,请帮助我在小数点后添加两个零。例如,如果我提供1500美元,则应为1500.00美元。现在为1500美元。我已更新了答案,以向您展示如何集成“.toFixed(2)`使用你自己的正则表达式。