【问题标题】:jQuery to display 2 decimalsjQuery显示2位小数
【发布时间】:2013-09-13 07:52:15
【问题描述】:

我需要添加以将 .toFixed(2) 值添加到下面的此 jQuery 中,但不确定将其放置在何处。

现在它在计算完成后显示如下内容:

您距离免费送货还有 10.020000000000003 美元!

jQuery(document).ready(function(){
if(jQuery("div.dynamicMiniCart dd.subtotal").length>0) {
var subtotal = jQuery("div.dynamicMiniCart dd.subtotal")[0].textContent;
var subTotalArr = subtotal.split("$");
if(subTotalArr.length>1){
var spendMore = 45 - Number(subTotalArr[1]);
if(spendMore >0)
    jQuery("#show_total").text("You are $"+spendMore+" away from Free Shipping!");
  else
    jQuery("#show_total").text("Made in the USA!");
}
}
})
;

【问题讨论】:

  • 你试过把它放在任何地方吗?
  • 将它添加到文本本身“你是 $”+spendMore.toFixed(2)+" 远离免费送货!”
  • 你可以这样做,但处理货币更正确的方法是将一切都转换为美分,进行操作,然后再转换回美元。

标签: javascript jquery decimal jquery-calculation


【解决方案1】:

这是一种选择。这将在您的 if 语句之前将其四舍五入,以确保您的 if 条件不会因为舍入错误而评估为 true。

var spendMore = 45 - Number(subTotalArr[1]).toFixed(2);

【讨论】:

  • 我试着做“var spendMore = 45 - Number(subTotalArr[1]).toFixed(2);”但它仍然像以前一样显示太多数字。我得到了这个工作,谢谢! "+spendMore.toFixed(2)+"
  • 我看到了,但对我来说,它实际上隐藏了为此拉取的整个 DIV。我一直在慢慢清理代码,并注意到一些较旧的 JS 库和其他零碎的部分。
【解决方案2】:

http://jsfiddle.net/3rgMX/

jQuery(function(){
    var txt = jQuery("div.dynamicMiniCart dd.subtotal").text(),
        spendLimit=45,
        num = Number(txt.slice(1));
    if(num < spendLimit){
        jQuery("#show_total").text("You are $"+(spendLimit - num).toFixed(2)+" away from Free Shipping!");
    }else{
        jQuery("#show_total").text("Made in the USA!");
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 2010-11-21
    • 2010-11-10
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多