使用JavaScript或ExtJS四舍五入格式化的字符串编号
Rounding off a formatted string number using JavaScript or ExtJS
下面,我有一个数字,我正在尝试使用javascript进行格式化。但它返回NaN。
var v = "153,452.47";
alert(Math.round(v));
您可以使用以下小提琴:示例
如何格式化带有分隔符的数字字符串?
我认为这将很好地工作
var v = "153,452.47";
var float = parseFloat(v.replace(/[^0-9.]/g, ''));
// => 153452.47
如果你想四舍五入到整数
var v = "153,452.47";
float.toFixed(0);
// => 153452
让我们做一个漂亮的小功能!
var roundFormattedNumber = function(n){
var result = parseFloat(n.replace(/[^0-9.]/g, ''));
return isNaN(result) ? NaN : result.toFixed(0);
};
这比提供的其他解决方案更有效,因为它是白名单regexp替换,而不是黑名单替换。这意味着它甚至适用于像$ 1,234.56
这样的数字
提供的其他解决方案将不适用于这些数字
roundFormattedNumber("$ 123,456,489.00");
//=> 123456789
roundFormattedNumber("999.99 USD");
//=> 1000
roundFormattedNumber("1 000 €");
//=> 1000
roundFormattedNumber("i like bears");
//=> NaN
您必须删除逗号。
parseFloat("153,452.57".replace(/,/g,"")).toFixed(0);
如果你想要2位小数:
parseFloat("153,452.57".replace(/,/g,"")).toFixed(2);
试试这个
var v = "153,452.47";
Math.round(parseFloat(v.replace(",","")));
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 将字符串转换为数组编号Javascript
- 我可以从类型编号中获取字符串值吗?
- JS 编号 - 在 .fixed 后使用区域设置字符串
- Javascript编号/字符串问题
- 解码或转义字符串中的十六进制代码编号
- 如何找到编号.JavaScript 中两个字符串中的相似字符
- 更改依赖于查询字符串的有序列表的起始编号
- 如果字符串是编号列表的一部分,正则表达式将检测到什么
- 带逗号的字符串编号's为带逗号的整数
- 对字符串编号angularjs进行排序
- 对具有前导编号s的字符串字段上的JScript数组进行排序
- 子字符串以获取图像编号
- 使用JavaScript或ExtJS四舍五入格式化的字符串编号
- 增量字符串编号javascript