格式数字十亿,千百
Format number by billions thousand hundreds
如何设置数字的格式
12345678
<span>12</span>
<span>345</span>
<span>678</span>
与Javascript?
点击运行代码片段…查看结果
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;
}
您可以像这样在每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, ",")
;
});
});
});
一系列的除法/模数应该能让你得到碎片。
例如: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
相关文章:
- 文本框应该只允许十六进制值
- Mongodb数千个并行运行的查询
- 如何计算二十面体的法线
- 正在将unicode转换为十六进制
- 在百度地图中显示navigator.geolocation.getCurrentPosition
- 在js中将字符串转换为十六进制
- 如何在JavaScript中将数字表示为十六进制
- 带有 TCP/IP 通信的 JavaScript 十六进制代码
- 在Meteor应用程序中使用百度地图与谷歌地图API
- 数百个标记同时移动.糟糕的表现
- 找出有多少千,成百上千和数十的数量
- 我需要在用户键入时搜索文本,但它可能是数百或数千页,我怎样才能有效地做到这一点
- 角度滤波器,用于将数字转换为具有两个小数点的数十亿
- 将数字转换为十、数百、数千
- 在下拉列表中只显示百位和千位
- 格式数字十亿,千百
- 查找数百/数千/数十图javascript
- 重构这段基本代码,确定数字是十位、百位还是千位等等
- Javascript碰撞引擎,可以很好地运行数百次(可能数千次)碰撞检查
- 十亿位数的最后一位