2017-03-18 10 views
1

コードネーム1ではDecimalFormatを使用できません。だから、どのように私はこのコードを回避操作を行います。コードネーム1で10進数の書式設定

private final static DecimalFormat balanceFormatter = new DecimalFormat("0.00"); 

private final String GetWalletBalanceEndpoint = "wallet/balance"; 
public GetWalletBalance() { 
    super(); 
    endpoint = GetWalletBalanceEndpoint; 
} 

public final Double getBalance() { 
    Map<String, Object> balanceMap = getResponseData(); 
    Double balance = (Double) balanceMap.get("balance"); 
    return balance; 
} 


public String getBalance2DecimalsString() { 
    Double balance = getBalance(); 
    return balanceFormatter.format(balance); 
} 

答えて

2

あなたはL10NManager

private final L10NManager lnm = L10NManager.getInstance(); 

private final String GetWalletBalanceEndpoint = "wallet/balance"; 
public GetWalletBalance() { 
    super(); 
    endpoint = GetWalletBalanceEndpoint; 
} 

public final String getBalance() { 
    Map<String, Object> balanceMap = getResponseData(); 
    return lnm.format(Double.parseDouble(balanceMap.get("balance").toString), 2); 
} 

値は、デバイスのローカライズに基づいてフォーマットされます。注を使用してコードネームの一つで小数点をフォーマットすることができます。一部の国は10.3410,34と書いていますが、この形式に従います。フォーマット前にローカライズを設定することで、特定の国のフォーマットを強制することができます。

lnm.setLocale("US", "EN"); 
関連する問題