Javascript 分离裁剪和舍入数字
Javascript separation and cropping and round digits
我对这个简短的脚本有疑问。脚本必须显示像这样的数字 10 987.23 或 10 987(点后是否有 2 个符号),但显示 NaN。我做错了什么?
<script>
var dohzavershen = "10 987.23456457457"; // corrected
dohzavershen = dohzavershen.replace(/.+?(?=\D|$)/,
function(f) {
return f.replace(/(\d)(?=(?:\d\d\d)+$)/g, " ")
;}
);
document.write(Number(dohzavershen).toFixed(0));
<script>
var dohzavershen = "10 987.23456457457"; // corrected
function formatter(n, k) {
var split = n.split('.');
if (split.length > 1) {
split[split.length-1] = split[split.length-1].substring(0, k);
}
return k > 0 ? split.join('.') : split[0];
}
formatter(dohzavershen, 2)
这样的事情可能会奏效。但请注意,这不会对数字进行四舍五入,而只是选择小数点后的前两位数字。 k>0只是为了确保你不会得到“1234.”,你可以按照你认为合适的方式处理它
我对这个简短的脚本有疑问。脚本必须显示像这样的数字 10 987.23 或 10 987(点后是否有 2 个符号),但显示 NaN。我做错了什么?
<script>
var dohzavershen = "10 987.23456457457"; // corrected
dohzavershen = dohzavershen.replace(/.+?(?=\D|$)/,
function(f) {
return f.replace(/(\d)(?=(?:\d\d\d)+$)/g, " ")
;}
);
document.write(Number(dohzavershen).toFixed(0));
<script>
var dohzavershen = "10 987.23456457457"; // corrected
function formatter(n, k) {
var split = n.split('.');
if (split.length > 1) {
split[split.length-1] = split[split.length-1].substring(0, k);
}
return k > 0 ? split.join('.') : split[0];
}
formatter(dohzavershen, 2)
这样的事情可能会奏效。但请注意,这不会对数字进行四舍五入,而只是选择小数点后的前两位数字。 k>0只是为了确保你不会得到“1234.”,你可以按照你认为合适的方式处理它