【问题标题】:Dollars to Cents in AngularJS for Stripe CheckoutAngularJS中用于Stripe Checkout的美元到美分
【发布时间】:2015-08-29 16:03:22
【问题描述】:

所以我有一个从 Firebase 返回的值,如下所示:

143.418

当我通过 angulars 货币过滤器运行它时,它会返回:

{{invoice.pricing.graTotal | currency}}

//Returns : $143.42

我已将 Stripe Checkout 集成到我的应用程序中,它需要如下所示的值:

14342

所以没有小数点或美元符号。根本没有格式化。那么如何将原始值四舍五入,然后删除要发送到条带的小数点?

我尝试将变量添加到格式化程序:

{{invoice.pricing.graTotal | currency:undefined:0}}

但这添加了美元符号并一起删除了美分。

$143

【问题讨论】:

  • {{invoice.pricing.graTotal * 100}} ?

标签: angularjs angularjs-filter angularjs-templates


【解决方案1】:

只需定义一个使用的过滤器

Math.round(amount * 100);

【讨论】:

    【解决方案2】:

    来自 angularJs:

    {{ currency_expression | currency : symbol : fractionSize}}
    

    所以,它一定是这样的:

    {{ invoice.pricing.graTotal | currency : "$": 2}}
    

    【讨论】:

    • OP 想要一个以美分为单位的值,作为一个整数,没有任何货币符号或格式。这将返回一个以美元为单位的值,带有货币符号,并根据当前语言环境进行格式化。
    【解决方案3】:

    我尝试了很多方法,但这对我有用:

    Math.round(parseFloat(invoice.pricing.graTotal * 100));
    

    我将它分配给一个变量并将其注入到视图中:

    //in controller    
    vm.grandtotal = Math.round(parseFloat(invoice.pricing.graTotal * 100));
    //in view
    {{ vm.grandtotal }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-31
      • 2023-03-07
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多