Как сделать, чтобы все переменные в скрипте javascript имели две десятичные точки

Сообщество:)

Я создаю веб-страницу, и мне нужно показать цены из внешних переменных JavaScript в таблицу HTML. Переменные объявляются так:

var price1 = 256.6;
var price2 = 220.36;

Затем я записываю эти переменные в HTML с помощью внутреннего скрипта, используя функцию.innerHTML(). Я хочу, чтобы все переменные во внешнем javascript имели 2 десятичных знака. Я могу использовать:

var price11 = price1.toFixed(2);
var price22 = price2.toFixed(2);

Но у меня слишком много переменных, чтобы применить преобразование к каждой из них в отдельности. Так есть ли способ преобразовать все переменные всего скрипта, чтобы иметь две десятичные точки?

4 ответа

Решение

Как я знаю, в ядре Javascript нет способа сделать это. Возможно, вам придется написать функцию при загрузке или иногда могут быть библиотеки для этого. Но тебе придется с этим тяжело.

Показывать цены в целочисленном количестве центовых единиц вашей валюты: после применения, например, скидок 2%, вы можете заставить значения обрабатывать как целые числа, используя побитовые операторы:

+var|0;   // '+' handles also objects

Тогда вам нужно иметь функцию, чтобы показать цены с десятичной точкой в ​​правильном месте.

Это, кстати, единственный способ гарантировать цены, чтобы сложить.

Если внешний файл имеет глобальные переменные, вы можете сделать это:

//External file
var price1 = 1.2569;
var price2 = 5.5762;

//Script
var tmp, i = 1;

while(tmp = window["price" + i]){
   window["price" + i + "" + i++] = tmp.toFixed(2)
}

document.write(price11);
document.write("<br>");
document.write(price22)

У вас есть 2 варианта:

  1. либо вы округляете число, где генерируется (в источнике - из библиотеки или конечной точки)
  2. или вы вокруг них локально
Другие вопросы по тегам