parseFloat("2,83")
вернет 2
, потому что ,
не распознается как десятичный разделитель, а .
есть.
Если вы хотите, чтобы округлить число до 2 знаков после запятой просто использовать parseFloat(discval.toFixed(2))
или Math.round(discval * 100)/100;
Если вам нужен холмик для целей отображения, а затем оставить его в виде строки с запятой. Вы также можете использовать Number.toLocaleString()
для форматирования чисел для отображения. Но вы не сможете использовать его в дальнейших расчетах.
BTW .toFixed()
возвращает строку, поэтому после этого не нужно использовать .toString()
.
Да, вам действительно нужно знать, почему вы хотите изменить точку запятой. Возможно, что-то другое, кроме демонстрационных целей, является неправильным подходом. – KjetilNordin