编码html以显示数字,使其以千为单位

Coding html to display numbers so they are thousand separated

本文关键字:为单位 数字 html 显示 编码      更新时间:2023-09-26

我试了一整天,但似乎什么都没用。

我希望我的网站能做的是,我在代码的表单元格中输入一个值,显示的结果将是相同的值,但以千为单位。这些值严格来说是数字,尽管在页面上并不是每个内容都是数字。

我尝试了几十种不同的javascript代码,但都无济于事,我开始放弃希望。我查看了我的代码,似乎没有任何内容相互矛盾,那么问题出在哪里呢?这真的是一项艰巨的任务吗?

非常感谢您的任何意见,以及花时间与我一起解决这个问题!我很乐意提供您可能需要的任何信息,以便更好地了解情况!

使用LocaleString

let numb=5934859384;
numb.toLocaleString('pl-PL')

或到固定

let numb=82384.23456;
console.log(numb.toFixed(2));

或创建类似的功能

function addDots(numb,position){
  let str=numb.toString().trim();
  let arr=str.split('');
  let result='';
  let index=0;
  for(let i=arr.length-1;i>=0;i--){
    index++;
    let nr=arr[i];
    result=nr+result;
    if(index == position){
        result='.'+result;
      index=0;
    }
  }
  let firstIsDot=result.substr(0,1);
  if(firstIsDot=='.'){
    result=result.substr(1);
  }
  return result;
}
let numb=3484762347;
console.log(addDots(numb,4)); // 34.8476.2347

如果您想替换表中的数字:

function replaceTableNumbers(){
    let tds=$('td');
  for(let i=0;i<tds.length;i++){
    let td=tds[i];
    let txt=$(td).text().trim();
    if(txt.match(/^[0-9]+$/)!=null){
        let parsed=addDots(txt,3);
        $(td).text(parsed);
    }
  }
}
$(document).ready(function(){
  replaceTableNumbers();
})

此解决方案有效吗?

function numberWithCommas(x) {
    return x.toString().replace(/'B(?=('d{3})+(?!'d))/g, ",");
}

摘自:如何在JavaScript 中以逗号作为千位分隔符打印数字

你的意思是这样回答?

$('input.number').keyup(function(event) {
  // skip for arrow keys
  if(event.which >= 37 && event.which <= 40) return;
  // format number
  $(this).val(function(index, value) {
    return value
    .replace(/'D/g, "")
    .replace(/'B(?=('d{3})+(?!'d))/g, ",");
  });
});