Мне нужно ввести значение, вводимое пользователем, и заставить его до шести знаков после запятой, даже если это целое число. Например, пользователь вводит в 12, мне нужно преобразовать это значение в 12.000000
, в виде номера. Это не для отображения целей - система на другом конце моего приложения требует десятичных значений, и я ничего не могу с этим поделать.Принудительное десятичное значение, даже в целых числах, в Javascript
Как я читал в другом месте, цифры в Javascript - это все 64-битные числа с плавающей запятой, поэтому не похоже, что это должно быть так сложно.
Увы, toFixed
здесь не вариант, потому что это дает мне строковое значение '12.000000'
. Каждый трюк, который я попробовал, просто дает целое число 12
без десятичных нулей (например, обертывание toFixed
с Number
, разделив значение строки на 1 и другую такую глупость).
Возможно ли представлять целое число как float в Javascript, не заканчивая строковым значением?
ОБНОВЛЕНИЕ
Спасибо за все комментарии и ответы. К сожалению, для меня комментарий @ Enzey действительно отвечает на мой основной вопрос, когда он сказал, что форсировать точность можно только со строкой. Если он представит это в качестве ответа, я приму это. Я детализировал свою реализацию целенаправленно неопределенно, потому что я не хотел вникать в то, почему я хотел делать то, что я делаю, я просто хотел узнать, возможно ли это. Но я думаю, что я просто запутался в людях. Извини за это.
сделать вам нужно это для строки json? –
Неясно, что вы подразумеваете под «другим концом моего приложения, которое требует десятичных значений», что это такое? Как вы отправляете номер этому «другому концу» системы? JSON и отправлен через провод? Глядя на другие языки, такие как Java или C#, numbe rs '12.0' и' 12.000' идентичны. Не знаете, как вы могли бы заставить точно 6 цифр точности ... – CodingWithSpike
На самом деле ... если вы имеете дело с введенными пользователем значениями, вы просто пропускаете '.parseFloat()' на входной строке? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat Возможно, вы просто непреднамеренно отправили его на бэкэнд в виде строки? – CodingWithSpike