如何让javascript脚本中的所有变量都保留两位小数

How to make all variables in javascript script have two decimal points

社区:)

我正在构建一个网页,我需要将来自外部 javascript 变量的价格显示到 HTML table 中。变量声明如下:

var price1 = 256.6;
var price2 = 220.36;

然后我使用 .innerHTML() 函数通过内部脚本将这些变量写入 HTML。我想要的是使外部 javascript 中的所有变量都有 2 个小数点。我可以使用:

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

但是我有太多变量,无法将转换分别应用于每个变量。那么有没有办法把整个脚本上的所有变量都转换成两位小数呢?

您有 2 个选择:

  1. 要么将生成的数字四舍五入(在源头 - 从库或端点)
  2. 或者你在本地四舍五入

据我所知,在核心 Javascript 中无法做到这一点。您可能必须编写加载函数,或者有时可能有库可以执行此操作。但是你将不得不为此付出努力。

如果外部文件有全局变量,可以这样做:

//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% 折扣,您可以使用按位运算符强制将值作为整数处理:

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

然后你需要有一个函数来显示小数点在正确位置的价格。

顺便说一句,这是保证价格上涨的唯一方法。