今天在做Birt报表时, 要显示一列百分比的数据,但因一些特别的原因,不能使用使用百分比样式,即如果数据是0.9538不能显示成“95.38%”的样式,必须显示成“95.38”。
开始时想使用javascript的内置函数Math.round(),可Math.round()只能显示为整数,而不能保留小数。
再网上搜索了一下,还是利用Math.round(),写成Math.round(x*100)/100,当然我要的是 Math.round(x*100),这没有关系。但直接使用Math.round(x*100)存在一个问题,有时会有很小的误差,显示很多位的小数 位,如0.9996*100,就会变成99.96000000000001,这可不是我想要的。
查找javascript的功能,number类型有一个toFixed()函数,测试:
- alert((0.9996*100).toFixed(2));
得到99.96,这是我想要的! 使用Number.toFixed()可以格式数字显示任意的小数位!
原文:http://blog.csdn.net/littlechang/article/details/7494076