这是代码:
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 英镑的地方除外。我已经对代码进行了一些修改,并且更改了 (new RegExp("[0]+$", "g"), ""); to (new RegExp("00", "g"), "0") 这给了我一些产品的 28.990 英镑,但其他产品的正确金额为 55.50 英镑。我认为缺少 if 语句,但我没有想到任何有意义的东西。我已经花了几个小时在这里和其他与 magento 相关的网站上寻找答案。我会很感激任何想法。