8

我的应用包含可以购买的应用内产品。我使用计费 API来检索可以购买的产品列表及其价格。检索到的价格是一个包含货币和价格的格式化字符串,例如“$2.50”。

现在我也使用Google Analytics API来跟踪购买情况。为了发送价格,这个 API 需要一个以微为单位的参数。所以我应该发送(2.50 * 1000000)。

是否有 API 可以将第一个价格(从 Billing API 检索)转换为第二个价格(发送到 Analytics API)?

当然我可以自己做一个简单的字符串解析转换,但我怕我这样做会出现意外情况。例如,在某些语言环境中,价格会包含“,”而不是“.”。

编辑

一个自然的解决方案是使用 NumberFormat 将“$2.50”转换为 2.50。

Double price = NumberFormat.getCurrencyInstance().parse(priceStr).doubleValue();

但是,从 Google Play 检索到的价格字符串格式显然是手机所在国家/地区的语言环境,但 NumberFormat 会使用手机的语言环境,这不一定相同......

4

1 回答 1

1

虽然没有正式记录,但 Billing API 已经在getSkuDetails()响应中提供了必要的数据。

除了该price字段,您还可以检索以下内容:

price_currency_code ISO 货币代码

price_amount_micros 产品价格以微计(注:净价)

于 2013-12-11T15:12:40.563 回答