parseInt фиксирует значение - PullRequest
0 голосов
/ 28 апреля 2018

Здесь у меня есть значение с запятыми.

Ex: - var abc = "10,10.12";

Если я использую var x = parseInt(abc);

возвращается 10

Ожидаемый результат - 10,10.12

как я использовал ng-value="UpdatedPropuesta.VALOR_CUOTA | number:2" в JSP.

Ответы [ 3 ]

0 голосов
/ 28 апреля 2018

С MDN :

Если parseInt встречает символ, который не является цифрой в указанном основании, он игнорирует его и все последующие символы и возвращает целочисленное значение, проанализированное до этой точки. parseInt усекает числа до целых значений. Разрешены начальные и конечные пробелы.

0 голосов
/ 28 апреля 2018

Если вы хотите получить массив чисел из строки, попробуйте это,

const input = "10,10.12";
var output = input.split(",");
output = output.map(i => Number(i));
console.log(output);
0 голосов
/ 28 апреля 2018
 10,10.12

Это не число 1010.12, это число 10, оператор запятой и число 10.12.

Запятые не являются частью буквального синтаксиса JavaScript.

Однако, в вашем случае вы передаете два аргумента parseInt, первый должен быть строкой для преобразования (но JS преобразует ее в стригг), а второй - основание - основание числа - которое должно быть целым числом.

Таким образом, преобразование типов JS приведет к:

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

Что, конечно, 10.

После обновления вопроса

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

Поскольку запятая не является частью числовых литералов JS, анализ останавливается на запятой, потому что это не символ, который может появляться в числе.

Так что ответ по-прежнему 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...