Как мы можем преобразовать строковую переменную JavaScript в десятичную?
Есть ли такая функция как:
parseInt(document.getElementById(amtid4).innerHTML)
Как мы можем преобразовать строковую переменную JavaScript в десятичную?
Есть ли такая функция как:
parseInt(document.getElementById(amtid4).innerHTML)
Да - parseFloat
.
parseFloat(document.getElementById(amtid4).innerHTML);
Для форматирования чисел используйте toFixed
:
var num = parseFloat(document.getElementById(amtid4).innerHTML).toFixed(2);
num
теперь представляет собой строку с числом, отформатированным с двумя десятичными знаками.
parseFloat('22w')
есть22
иparseFloat('w22')
естьNaN
Вы также можете использовать
Number
конструктор / функцию (не требуется основание системы счисления и может использоваться как для целых чисел, так и для чисел с плавающей запятой):В качестве альтернативы, как сказал Энди Э в комментариях, вы можете использовать
+
для преобразованияисточник
Number
Это работает:
источник
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat
источник
Intl.NumberFormat
прибивает это.Довольно рискованно полагаться на функции javascript для сравнения и игры с числами. В javascript (0,1 + 0,2 == 0,3) вернет false из-за ошибок округления. Используйте библиотеку math.js.
источник
Простым сокращенным способом было бы использовать + x. Он сохраняет неизменным знак, а также десятичные числа. Другой альтернативой является использование parseFloat (x). Разница между parseFloat (x) и + x заключается в пустой строке, + x возвращает 0, тогда как parseFloat (x) возвращает NaN.
источник
Я сделал для этого небольшую вспомогательную функцию и перехватил все искаженные данные.
Демо здесь
источник