私のアプリには、購入可能なアプリ内アイテムが含まれています。請求 APIを使用して、購入可能な製品とその価格のリストを取得します。取得された価格は、通貨と価格の両方を含む書式設定された文字列です (例: "$2.50")。
現在、Google アナリティクス APIを使用して購入を追跡しています。価格を送信するために、この API はマイクロ単位の長いパラメーターを取ります。したがって、(2.50*1000000) を送信する必要があります。
最初の価格 (Billing API から取得) を 2 番目の価格 (Analytics API に送信) に変換する API はありますか?
もちろん、単純な文字列解析変換を自分で行うこともできますが、そうすると予期しないケースが発生するのではないかと心配しています。たとえば、一部のロケールでは、価格に「.」ではなく「,」が含まれます。
編集
自然な解決策は、NumberFormat を使用して "$2.50" を 2.50 に変換することです。
Double price = NumberFormat.getCurrencyInstance().parse(priceStr).doubleValue();
ただし、Google Play から取得した価格文字列の形式は、電話が置かれている国のロケールにあるようですが、NumberFormat は必ずしも同じではない電話のロケールを使用します...