Подтвердить что ты не робот

Как преобразовать целое число в float в JavaScript?

У меня есть целое число (например, 12), и я хочу преобразовать его в число с плавающей запятой с указанным числом десятичных знаков.

Проект

function intToFloat(num, decimal) { [code goes here] }
intToFloat(12, 1) // returns 12.0
intToFloat(12, 2) // returns 12.00
// and so on…
4b9b3361

Ответ 1

То, что у вас есть, уже является числом с плавающей запятой, все они являются 64-битными числами с плавающей запятой в JavaScript.

Чтобы получить десятичные знаки при рендеринге (как строку, для вывода), используйте .toFixed(), например:

function intToFloat(num, decPlaces) { return num.toFixed(decPlaces); }

Здесь вы можете протестировать его (хотя я бы переименовал функцию, учитывая ее не точное описание).

Ответ 2

toFixed (x) не пересекается с решением браузера. Полное решение:

function intToFloat(num, decPlaces) { return num + '.' + Array(decPlaces + 1).join('0'); }

Ответ 3

Если вам не нужно (или не уверен) фиксированное число десятичных знаков, вы можете просто использовать

xAsString = (Number.isInteger(x)) ? (x + ".0") : (x.toString());

Это актуально в таких контекстах, как x как 7.0, но x.toString() предоставит вам "7", и вам потребуется строка как "7.0". Если x является значением с плавающей точкой, например say 7.1 или 7.233, то строка также должна быть "7.1" или "7.233" соответственно.

Без использования Number.isInteger():

xAsString = (x % 1 === 0) ? (x + ".0") : (x.toString());