Добавление десятичного места в число с помощью javascript

У меня есть это число как целое число 439980

и я хотел бы разместить десятичное место в 2-х местах справа. сделать это 4399.80

количество символов может меняться в любое время, поэтому мне всегда нужно, чтобы оно было равно 2 десятичным разрядам справа.

как бы я это сделал?

спасибо

Ответ 1

function insertDecimal(num) {
   return (num / 100).toFixed(2);
}

Ответ 2

Просто добавив, что toFixed() вернет строковое значение, поэтому, если вам нужно целое число, для этого потребуется еще один фильтр. Вы можете просто обернуть возвращаемое значение из функции nnnnnn с помощью Number(), чтобы получить целое число назад:

function insertDecimal(num) {
   return Number((num / 100).toFixed(2));
}

insertDecimal(99552) //995.52
insertDecimal("501") //5.01

Единственная проблема здесь в том, что JS удалит трейлинг-0, поэтому 439980 вернет 4399.8, а не 4399.80, как вы могли бы надеяться:

insertDecimal(500); //5

Если вы просто печатаете результаты, то оригинальная версия nnnnnn отлично работает!

Примечания

Функция JavaScript Number может привести к очень неожиданным возвращаемым значениям для определенных входов. Вы можете отказаться от вызова номера и принудительно привязать значение строки к целому числу с помощью унарных операторов

return +(num / 100).toFixed(2);

или умножения на 1, например.

return (num / 100).toFixed(2) * 1;

TIL: Ядровая математическая система JavaScript вид странный