parseInt修复该值

时间:2018-04-28 08:02:46

标签: javascript angularjs

这里我有逗号的值。

例如: - var abc = "10,10.12";

如果我使用var x = parseInt(abc);

它正在返回10

预期输出为10,10.12

因为我在JSP中使用了ng-value="UpdatedPropuesta.VALOR_CUOTA | number:2"

3 个答案:

答案 0 :(得分:1)

如果你想要一个数字数组,那么试试这个,

const input = "10,10.12";
var output = input.split(",");
output = output.map(i => Number(i));
console.log(output);

答案 1 :(得分:0)

来自MDN

  

如果parseInt遇到的字符不是指定基数中的数字,它会忽略它和所有后续字符,并返回解析到该点的整数值。 parseInt将数字截断为整数值。允许前导和尾随空格。

答案 2 :(得分:-1)

 10,10.12

这不是数字1010.12,而是数字10,逗号运算符和数字10.12

逗号不是JavaScript文字语法的一部分。

但是,在您的情况下,您将两个参数传递给parseInt,第一个应该是要转换的字符串(但JS会将其转换为strign),第二个是基数 - 数字base - 应该是一个整数。

因此,JS的类型转换将导致:

var x = parseInt('10', 10);

当然是10。

问题更新后

var x = parseInt("10,10.12");

由于逗号不是JS数字文字的一部分,因此解析将停留在逗号处,因为它不是可以出现在数字中的字符。

所以答案仍然是10。