【发布时间】:2013-02-07 23:30:26
【问题描述】:
我的应用包含可以购买的应用内商品。我使用billing API 检索可以购买的产品列表及其价格。 检索到的价格是一个包含货币和价格的格式化 String,例如“$2.50”。
现在我也使用Google Analytics API 来跟踪购买情况。为了发送价格,此 API 采用了一个以微为单位的 long 参数。所以我应该发送 (2.50*1000000)。
是否有 API 可以将第一个价格(从 Billing API 检索)转换为第二个价格(发送到 Analytics API)?
我当然可以自己做一个简单的字符串解析转换,但我害怕这样做会出现意外情况。例如,在某些语言环境中,价格将包含“,”而不是“.”。
编辑
一个自然的解决方案是使用 NumberFormat 将“$2.50”转换为 2.50。
Double price = NumberFormat.getCurrencyInstance().parse(priceStr).doubleValue();
但是,从 Google Play 检索到的价格字符串格式显然是手机所在国家/地区的语言环境,但 NumberFormat 会使用手机的语言环境,这不一定相同......
【问题讨论】:
-
你找到解决办法了吗?
标签: android google-analytics in-app-purchase billing