如何在Magento 1.7.0.2(JavaScript)中修剪零价格

时间:2013-04-29 10:57:39

标签: javascript magento

以下是代码:

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 trim price extension。它完成了这项工作,但在可配置和捆绑产品中修剪全部为零;因此,当产品页面上的类别页面上的价格看起来像11.50英镑时,价格似乎是11.5英镑。这个想法是到处都有两个十进制数字,例如产品成本为0.012英镑。我玩了一些代码,然后我改变了(新的RegExp(“[0] + $”,“g”),“”);到(新的RegExp(“00”,“g”),“0”)这给了我28.990英镑的一些产品,但正确的金额55.50英镑的其他产品。我认为缺乏if声明,但我脑子里没有任何意义。我已经花了几个小时在这里和其他与magento相关的网站上搜索答案。我会很感激任何想法。

2 个答案:

答案 0 :(得分:0)

Javascript Number.toFixed方法正是您所需要的。 (12.5001).toFixed(2) - > 12.50

答案 1 :(得分:0)

为什么需要削减价格。我认为magento会自动完成它。

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