您将在我的form
标记中看到,我使用toLocaleString
在我的最终输出中添加了分隔符。但是我想要一个空格而不是逗号。我怎样才能做到这一点?
现在,第三个输出中有一个逗号。但理想情况下,我希望所有三个输出都有一个空格,以使大数字更具可读性。
示例:" 5 000"," 400 000"等
<form oninput="loanval.value=loan.value; periodval.value=period.value; paymentval.value=Math.floor(loan.value / period.value).toLocaleString()">
<label>Loan Amount</label>
<input type="range" id="loan" name="loan" min="5000" max="400000" step="5000">
<output name="loanval" for="loan">0</output>
<label>Loan Period</label>
<input type="range" id="period" name="period" min="1" max="15">
<output name="periodval" for="period">0</output>
<label>Your monthly repayment will be:</label>
<output name="paymentval">0</output>
</form>
答案 0 :(得分:3)
.toLocaleString()
函数的要点是它根据语言环境(和十字架分隔符等)选择正确的千位和小数分隔符,所以没有选项只是明确地说“我想用一个这个分隔符的空间,请。“
如果您完全确定您的网站只会在使用句点作为小数点分隔符的区域设置中运行,那么您可以.toLocaleString('en-US').replace(',', ' ')
也就是说,强制它使用en-US
使用逗号数千和句点为小数,然后只需手动替换逗号。它不是很优雅,但后来我认为删除一个语言环境的标准/可识别的千位分隔符以使数字“更具可读性”的整个想法本身并不是很优雅。
答案 1 :(得分:0)
如果您使用toLocaleString 正确地您可以强制使用空格-法国人使用空格
num = 5000;
console.log(num.toLocaleString('fr'));
num = 400000;
console.log(num.toLocaleString('fr'));
num = 1234.50; // decimals need more information
console.log(num.toLocaleString('fr', {
'minimumFractionDigits': 2,
'maximumFractionDigits': 2
}));
答案 2 :(得分:0)
创建了可以完成此任务的JS脚本,请尝试一下:
$indexOfCP