Как сделать, чтобы все переменные в скрипте 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 варианта:
- либо вы округляете число, где генерируется (в источнике - из библиотеки или конечной точки)
- или вы вокруг них локально