Sha*_*der 0 javascript extjs string-formatting extjs4.1 extjs4.2
下面,我有一个我想用javascript格式化的数字.但它返回NaN.
var v = "153,452.47";
alert(Math.round(v));
Run Code Online (Sandbox Code Playgroud)
您可以使用以下小提琴:示例
我们如何格式化具有分隔符的数字字符串?
我认为这会很好
var v = "153,452.47";
var float = parseFloat(v.replace(/[^0-9.]/g, ''));
// => 153452.47
Run Code Online (Sandbox Code Playgroud)
如果要舍入为整数
var v = "153,452.47";
float.toFixed(0);
// => 153452
Run Code Online (Sandbox Code Playgroud)
让我们做一个不错的小功能吧!
var roundFormattedNumber = function(n){
var result = parseFloat(n.replace(/[^0-9.]/g, ''));
return isNaN(result) ? NaN : result.toFixed(0);
};
Run Code Online (Sandbox Code Playgroud)
这比其他解决方案更好用,因为它是白名单正则表达式替换而不是黑名单.这意味着它甚至可以用于数字$ 1,234.56
提供的其他解决方案不适用于这些数字
roundFormattedNumber("$ 123,456,489.00");
//=> 123456789
roundFormattedNumber("999.99 USD");
//=> 1000
roundFormattedNumber("1 000 €");
//=> 1000
roundFormattedNumber("i like bears");
//=> NaN
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
982 次 |
| 最近记录: |