这里我有逗号的值。
例如: - var abc = "10,10.12";
如果我使用var x = parseInt(abc);
它正在返回10
预期输出为10,10.12
因为我在JSP中使用了ng-value="UpdatedPropuesta.VALOR_CUOTA | number:2"
。
答案 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。