这是一个完整的代码:
ArrayList<String> skuList = new ArrayList<>();
skuList.add("foo");
skuList.add("bar");
final String[] prices = new String[skuList.size()];
Bundle querySkus = new Bundle();
querySkus.putStringArrayList("ITEM_ID_LIST", skuList);
Bundle skuDetails = _appActivity.mService.getSkuDetails(3, _appActivity.getPackageName(), "inapp", querySkus);
int response = skuDetails.getInt("RESPONSE_CODE");
if(response == 0) {
ArrayList<String> responseList = skuDetails.getStringArrayList("DETAILS_LIST");
int i = 0;
for (String thisResponse : responseList) {
JSONObject object = new JSONObject(thisResponse);
String sku = object.getString("productId");
final String priceCurrency = object.getString("price_currency_code");
String priceAmountMicros = object.getString("price_amount_micros");
float priceAmount = Float.parseFloat(priceAmountMicros) / 1000000.0f;
String price = priceAmount + " " + priceCurrency;
if(skuList.contains(sku)){
prices[i] = price;
i++;
}
}
}
从文档:
price_currency_code 价格的 ISO 4217 货币代码。例如,如果以英镑为单位指定价格,则 price_currency_code 为“GBP”。
price_amount_micros 以微单位为单位的价格,其中 1,000,000 微单位等于 1 个货币单位。例如,如果价格为“€7.99”,则 price_amount_micros 为“7990000”。此值表示特定货币的本地化、四舍五入价格。
现在您只需将 price_amount_micros 除以 1000000 并将其与货币连接。