Преобразование строковой переменной JavaScript в десятичную/денежную
Как мы можем преобразовать строковую переменную JavaScript в десятичную?
Есть ли такая функция, как
parseInt(document.getElementById(amtid4).innerHTML)
Ответы
Ответ 1
Да - parseFloat
.
parseFloat(document.getElementById(amtid4).innerHTML);
Для форматирования чисел используйте toFixed
:
var num = parseFloat(document.getElementById(amtid4).innerHTML).toFixed(2);
num
теперь является строкой с числом, отформатированным с двумя знаками после запятой.
Ответ 2
Вы также можете использовать конструктор/функцию Number
(нет необходимости в радиусе и использоваться как для целых чисел, так и для float):
Number('09'); /=> 9
Number('09.0987'); /=> 9.0987
Ответ 3
Это работает:
var num = parseFloat(document.getElementById(amtid4).innerHTML, 10).toFixed(2);
Ответ 4
var formatter = new Intl.NumberFormat("ru", {
style: "currency",
currency: "GBP"
});
alert( formatter.format(1234.5) ); // 1 234,5 £
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat
Ответ 5
Легким коротким способом было бы использовать + x
Он сохраняет знак неизменным, а также десятичные числа.
Другой альтернативой является использование parseFloat (x).
Разница между parseFloat (x) и + x для пустой строки + x возвращает 0, когда parseFloat (x) возвращает NaN.