格式化数字的方式是什么
12345678
格式化
<span>12</span>
<span>345</span>
<span>678</span>
使用Javascript?
答案 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。