有人可以指出我正确的方向,请删除一个跨越数字的不同长度的小数位,即网站上的产品价格。
£6.9800
以上应该说£6.98
我们有一个网站,其中一些价格需要在4位小数位,例如0.0260英镑,我们有我们的网站设置来显示这个。但我们还有其他不需要的价格,例如:价格高于0.99英镑,1.99英镑,10.99英镑,100.99英镑,1000英镑
有没有办法可以将价格限制在2位小数而不进行任何舍入?
我可以使用JS / Jquery(因为我的CMS让我)。
我尝试过修剪等等,但我似乎无法满足不同长度的数字(我可能只是愚蠢)
我以为我可以使用这样的东西,但我不是百分百肯定:http://www.mredkj.com/javascript/numberFormat.html
答案 0 :(得分:2)
使用" toFixed"方法。这样:
var f = 1.2345;
f.toFixed( 2 );
编辑: 你可以在这个问题中看到Gumbo的答案:Display two decimal places, no rounding
此致 凯文
答案 1 :(得分:0)
假设金额不是字符串:
var f = 1.556;
Math.floor(1.556*100)/100;
答案 2 :(得分:0)
这是一个使用jQuery的例子
假设价格在标签中,Html 。
<p>0.0260</p>
<p>0.1260</p>
<p>6.9800</p>
<p>100.99</p>
<p>1.99</p>
<p>10.99</p>
<p>1000.99</p>
<强>脚本强>
$.each($("p"),function(){
var number = parseFloat($(this).text())
var integerPart = number.toString().split(".")[0] == 0 ? 0: number.toString().split(".")[0].length;
var decimalPart = number.toString().split(".")[1].length;
if(decimalPart){
$(this).text(number.toPrecision(integerPart + decimalPart.length))
}else{
$(this).text(number.toPrecision(integerPart + 2))
}
})