-3
A
回答
1
您需要决定先约定什么。你想要逗号分隔两个数字,还是三个?
让我们设想它是3,按照惯例。
1000
应该成为1, 000
10000
应该成为10,000
100000
应该成为100,000
1000000
应该成为1,000,000
的代码要做到这一点可能是微不足道的:
function formatWithComma(interval, num) {
var digits = String(num).split(''),
output = [];
digits.forEach(function(digit, index) {
output.push(digit);
if(index % interval === 0) {
output.push(',');
}
});
return digits.reverse().join('');
}
此函数期望以插入逗号的间隔和一个数字来调用,从中可以构建格式化字符串。
formatWithComma(3, 12345) === "12,345"
formatWithComma(2, 12345) === "1,23,45"
你可能会进一步采取这一个步骤,并且使用JavaScript的partial application mechanism创建预装的第一个参数的格式功能。
var format = formatWithComma.bind(this, 3);
之后,任何对format
的调用都会在每第3位插入一个逗号。
0
我想出了这个功能。这对我来说可以。
function addCommas(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
1
根据浏览器的目标,你可以使用Number.prototype.toLocaleString()
这将在此基础上,你可以指定区域设置格式化您的数字。示例位于下面的链接页面上。
参见https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
例如:
var number = 123456.789;
console.log(number.toLocaleString('en-US'));
// → 123,456.789
如果没有指定的区域设置的用户浏览器区域将被使用。
+0
嘿谢谢你,我曾经使用过它,但它在safari中不支持。 – 2015-04-02 12:06:35
相关问题
- 1. 以格式编号为货币的Javascript
- 2. 格式编号
- 3. 客户端javascript格式编号(货币)
- 4. SQL编号格式
- 5. Mysql格式编号
- 6. QTableView格式编号
- 7. Javascript:以纯文本格式打印html
- 8. 如何使用纯的CSS或纯javascript
- 9. PHP中的格式编号
- 10. 哪个Javascript代码编辑器支持纯文本行编号?
- 11. 格式编号价格样式JS
- 12. 如何使用EPPlus格式化公式的编号?
- 13. JEditable:编辑前的格式编号
- 14. 用纯JavaScript编写的Jade模板
- 15. 电话号码格式javascript
- 16. 灵活编号格式
- 17. 格式编号RDLC报告
- 18. 更改编号格式
- 19. Vb.net格式编号为String
- 20. MS字格式编号
- 21. 如何使用zend表格编号格式
- 22. 如何使用纯JavaScript或jQuery将HTML实体编号转换为字符?
- 23. 用.net编辑PDF格式的javascript
- 24. 使用javascript的DOM中的电话号码格式
- 25. JavaScript:格式编号/货币W /问候文化像.NET的String.Format()?
- 26. 如何使用纯JavaScript
- 27. 使用纯JavaScript解析JSON
- 28. 使用纯Javascript动画SVG
- 29. 阅读和使用纯JavaScript
- 30. 使用javascript函数编号的div
请上传你的代码 – atmd 2015-04-02 11:08:36
嘿,我会检查那个帖子。谢谢。 – 2015-04-02 11:12:29