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.”,你可以按照你认为合适的方式处理它