У меня есть следующий код. Мне бы хотелось, чтобы оно было таким, чтобы если price_result равнялся целому числу, скажем, 10, то я хотел бы добавить два десятичных знака. Таким образом, 10 будет 10,00. Или, если он равен 10,6, будет 10,60. Не уверен, как это сделать.
price_result = parseFloat(test_var.split('$')[1].slice(0,-1));
javascript
floating-point
user357034
источник
источник
var twoPlacedFloat = + parseFloat(yourString).toFixed(2)
чтобы преобразовать, чтобы плаватьКогда вы используете
toFixed
, он всегда возвращает значение в виде строки. Это иногда усложняет код. Чтобы избежать этого, вы можете сделать альтернативный метод для Number.и использовать:
или просто:
источник
0.1 + 0.2 // 0.30000000000000004
мне нужно исправить это(0.1+0.2).round() // 0.3
Если вам нужна производительность (как в играх):
Это примерно в 100 раз быстрее, чем parseFloat (number.toFixed (2))
http://jsperf.com/parsefloat-tofixed-vs-math-round
источник
number * 1
я что-то упустил, может быть 🤔?Чтобы вернуть число, добавьте еще один слой скобок. Держит это в чистоте.
источник
var twoPlacedFloat = parseFloat(('2.00').toFixed(2))
генерирует ошибку.Если ваша цель состоит в том, чтобы проанализировать, и ваш ввод может быть литералом, то вы ожидаете
float
иtoFixed
не будете этого предоставлять, поэтому вот две простые функции для обеспечения этого:источник
parseFloat(parseFloat('10.5').toFixed(2))
возвращение10.5
уважаемое10.50
. ТакжеparseFloat(parseFloat('10.50').toFixed(2))
вернитесь10.5
ceil from lodash, вероятно, лучший
будет работать также с номером, и это безопасно
источник
Краткий ответ @sd : в JS нет способа получить значение типа данных Number с конечными нулями после десятичной дроби.
Длинный ответ: Свойство
toFixed
илиtoPrecision
функция JavaScript для возврата строки. Причина этого заключается в том, что тип данных Number не может иметь значение, подобное a = 2.00, он всегда удаляет завершающие нули после десятичного числа. Это встроенное свойство Number Datatype. Так что для достижения вышесказанного в JS у нас есть 2 вариантаисточник
Пожалуйста, используйте функцию ниже, если вы не хотите округлять.
источник
Для чего это стоит: десятичное число - это десятичное число, вы либо округляете его до некоторого другого значения, либо нет. Внутренне он будет округлять десятичную дробь в соответствии с правилом вычисления и обработки с плавающей запятой. Он остается внутренним десятичным числом (с плавающей запятой, в JS - двойным) независимо от того, сколько цифр вы хотите отобразить.
Чтобы представить его для отображения, вы можете выбрать точность отображения в соответствии с желаемым путем преобразования строки. Презентация - это проблема отображения, а не хранения.
источник
Вы можете использовать .toFixed () для значения с плавающей запятой 2 цифры
Exampale
источник
Попробуйте это (см. Комментарии в коде):
источник
Простой JavaScript, строка для плавания:
источник
Инициализировать FormArray Form Builder
Создать форму
Установить значения формы в контроллере формы
источник
У меня есть другое решение.
Вы можете использовать
round()
для этого вместоtoFixed()
источник
parseFloat()
как я обновил ответ @zsalzbankround()
на числах в JS. Реальный вопрос в том, кто проголосовал за это.Решение, которое работает для меня, заключается в следующем
источник