我有一个表单的文本输入字段,用户可以输入一个数字.我想在每三位数后自动插入一个逗号.
例如,输入"20"将导致"20".输入'100'将导致'100'.但是如果它们输入'1000',则在1和后面的0之间插入逗号(例如,1,000).显然,如果数字达到7位数(例如,1,000,000),这种行为将继续.
是否有捷径可寻?我对这一切都有点新意,所以请回答你和孩子说话:)
尝试在欧洲文化中将数字格式化为两位小数格式.这样逗号就是小数分隔符和空格千位分隔符.
在示例中,213245应格式化为213 245,00
我怎样才能做到这一点?
213245.toFixed(2).toLocaleString();
Run Code Online (Sandbox Code Playgroud)
给出213245.00但它应该是213 245,00
然而
213245.toLocaleString()
Run Code Online (Sandbox Code Playgroud)
给出213 245
小提琴下面:
var out, input;
input = 213245;
// TEST 1
out = input.toFixed(2);
console.log(out); // 213245.00
out = out.toLocaleString();
console.log(out); // 213245.00
// TEST 2
out = input.toLocaleString();
console.log(out); // 213 245
Run Code Online (Sandbox Code Playgroud)
我需要显示用逗号分隔的数字,例如 120,456.02
我用js尝试了下面的方法,效果很好。但在应用程序脚本中,它会抛出非法基数异常
function toDec(n) {
//return parseFloat(Math.round(n * 100) / 100).toFixed(2) + ' '; will display without comma
return Number(parseFloat(Math.round(n * 100) / 100)).toLocaleString('en-US', {minimumFractionDigits: 2});
}
Run Code Online (Sandbox Code Playgroud)
有可用的解决方法吗?