格式数量达数十亿

时间:2015-08-25 16:22:54

标签: javascript

格式化数字的方式是什么

12345678

格式化

<span>12</span>
<span>345</span>
<span>678</span>

使用Javascript?

3 个答案:

答案 0 :(得分:1)

单击运行代码段... 以查看结果

function numberToHtml(n) {
  function createSpan(n) {
    var span = document.createElement('span');
    span.textContent = n;
    return span;
  }
  function iter(n, container) {
    if (n === '') return container;
    container.insertBefore(createSpan(n.slice(-3)), container.firstChild);
    return iter(n.slice(0,-3), container);
  }
  return iter(String(n), document.createDocumentFragment());
}

document.body.appendChild(numberToHtml(12345678));
span {
  border: 1px solid red;
  padding: 3px;
  margin: 3px;
}

答案 1 :(得分:0)

你可以像这样在每000个字符中添加逗号:

function commaSeparateNumber(val){
  while (/(\d+)(\d{3})/.test(val.toString())){
  val = val.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2');
  }
  return val;
  }

然后像这样调用这个函数:

var orig_number = 12345678;
var formatted_number = commaSeparateNumber(orig_number);

或者你可以这样做:

$(document).ready(function(){
  $('input.number').keyup(function(event) {
  // format number
  $(this).val(function(index, value) {
  return value
  .replace(/\D/g, '')
  .replace(/\B(?=(\d{3})+(?!\d))/g, ",")
  ;
  });
  });
  });

答案 2 :(得分:0)

一系列除法/模数应该可以帮到你。

例如:

var x = 12345678;
var hund = parseInt(x / 1      ) % 1000; // 678
var thou = parseInt(x / 1000   ) % 1000; // 345
var mill = parseInt(x / 1000000) % 1000; // 12

您可以概括并循环检查结果何时变为0。