【问题标题】:jQuery: Multiply a number with 7.5jQuery:将一个数字乘以 7.5
【发布时间】:2011-01-17 17:03:39
【问题描述】:

我即将设计一个网上商店,建立在 Big Cartel 网上商店系统的基础上。他们使用的最接近的货币是欧元,但我想要丹麦克朗 (DKK),即 7.5 欧元。

如何将 div.price 中的数字相乘?

我找到了“jQuery Calculate”插件,但我不知道它是如何工作的。

插件站点:http://www.pengoworks.com/workshop/jquery/calculation/calculation.plugin.htm

提前谢谢你...

【问题讨论】:

  • (在此处插入对jQuery basic arithmetic plugin 的强制引用:)
  • 你能解释一下为什么你不能只使用 jQuery 的组合来获取 div.price 中的当前值,然后只使用好的旧 javascript 将它乘以 7.5,然后使用 jQuery 来更新div?
  • 您真的需要在货币之间进行转换吗?只是将符号从欧元更改为丹麦克朗吗?
  • 大家好。我是 Javascript 新手,对它了解不多。但是我经常使用 jQuery,并且总是通过搜索“jquery ...”来搜索插件或 sn-ps ... @Mark:那么脚本会是什么样子?或者我在哪里可以找到这样的东西? @El Ronnoco:丹麦货币是欧元的 7.5 倍。这意味着,如果我只是更改符号,产品将比实际价格便宜 7.5 倍。我敢打赌,客户会喜欢的。但不是我的客户.. ;-)
  • 我认为他真正需要的是从1.000,50 字符串中提取1000.5 浮点数。无论如何,链接的插件似乎有一个很好的文档,所以如果你告诉我们你到目前为止得到了什么以及你卡在哪里,它可能会有所帮助。

标签: javascript jquery calculator bigcartel


【解决方案1】:
$('div.price').text(function(i,v) {
    return Math.round(parseInt(v * 100, 10) * 7.5) / 100;
});

现场演示: http://jsfiddle.net/tbL5r/

【讨论】:

    【解决方案2】:
    $("div.price").each(function(){
     $(this).text(parseFloat($(this).text()) * 7.5);
    });
    

    但是你真的不应该用 javascript 来做。

    【讨论】:

    • 这会导致像20.725 这样的价格,不是吗?它需要一些十进制格式...
    • 为什么不呢?对于简单的货币转换,向服务器发送请求将是非常过分的。但是,如果它是关于更改商店范围的设置..那么重新加载是绝对好的和合适的。
    • @Pekka,这不是问题的一部分;)
    • 同意不想用 JS 做。但如果必须,您可能希望先将所有内容乘以 100,然后再除以 100。这将避免任何浮点问题。
    • 我无法更改网上商店中的任何内容,因为它是托管解决方案。但是,我可以添加自己的 css 和 javascript,所以我认为这将是一个很好的解决方案。
    猜你喜欢
    • 2012-09-19
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多