2013-04-29 53 views
0

下面是代码:如何修剪从价格为零的在Magento 1.7.0.2(JavaScript的)

function wpTrimZeroRight(price, precision) { 
var format = { 
    'pattern': '%s', 
    'precision': precision, 
    'requiredPrecision': precision, 
    'decimalSymbol': '.', 
    'groupSymbol': '', 
    'groupLength': 0, 
    'integerRequired': 2 
}; 
var xPrice = formatCurrency(price, format); 
var decimal = ''; 
var pointPos = xPrice.lastIndexOf('.'); 
if (pointPos !== -1) decimal = xPrice.substr(pointPos); 
var c1 = decimal.length; 
decimal = decimal.replace(new RegExp("[0]+$", "g"), ""); 
var c2 = decimal.length; 
var xPrecision = precision - (c1 - c2); 
return xPrecision; 

这段代码是从webandpeople装饰的价格扩展拍摄。它完成这项工作,但在可配置和捆绑产品中修剪所有零;所以当产品页面上的类别页面上的价格看起来像是11.50英镑时,看起来像是11.5英镑。这个想法是在任何地方都有两个十进制数字,例如产品价格为0.012英镑。我已经玩了一段代码,并且改变了(新的RegExp(“[0] + $”,“g”),“”); (新的RegExp(“00”,“g”),“0”)这给了我28.990英镑的一些产品,但正确的金额为55.50英镑。我认为如果陈述缺乏,但没有任何意义。我已经花了几个小时在这里和其他与magento相关的网站上寻找答案。我会很感激任何想法。

回答

0

Javascript Number.toFixed方法就是你所要的。 (12.5001).toFixed(2) - > 12.50

+0

但是,如果这样的价格改变0.012到0.01?它不会工作。我认为它必须是声明“如果”或类似的东西去除零以保留两位十进制数。 – 2013-04-29 11:40:12

0

为什么需要削减价格。我认为magento自动做到这一点。

使用类似Mage :: helper('core') - > currency($ price,true,false)的代码;无论你在哪里获得价格。我想你会得到格式化的价格

+0

不知何故,Magento在类别和产品页面中显示不同的价格。当我禁用此扩展名时,Magento格式价格如下:我想要的4.0英镑(我的上司)4.00英镑 – 2013-04-29 14:08:57

相关问题