0

double値のパーセンテージ形式が必要なので、NumberFormatを使用しました

    double d = 0.13;   
    NumberFormat nf = NumberFormat.getPercentInstance();      
    String kpr = nf.format(kpr);  

このプロパティをsetterを介してオブジェクトPersonに保存しました。getterメソッドを介して取得すると、Stringが返されます(もちろん)。
この文字列をフォーマット解除して値を0.13に倍増し、算術演算を実行できるようにする方法はありますか?

4

2 に答える 2

0
double d=(Double.parase(kpr.substring(kpr.length-1)))/100;
于 2012-07-21T13:49:57.627 に答える
0
public static void main(String s[]) {
    getDoubleFromStringWithPercent("12345%");
}

private static Double getDoubleFromStringWithPercent(String string) {
    Locale locale = Locale.CANADA;
    Double num = null;
    try {
        Number number = NumberFormat.getPercentInstance(locale).parse(string);
        if (number instanceof Long) {
            num = ((Long) number).doubleValue();
        } else {
            num = (Double) number;

        }
    } catch (ParseException e) {
        throw new RuntimeException(e);
    }
    return num;
}

小数点を検索するためのロケールの必要性( "。"または"、");

代替バージョン:

String string ="2165%";

double d = Double.parseDouble(string.substring(0, string.length()-1));
if (d != 0) {
   d = d / 100;
}
于 2012-07-21T13:50:01.073 に答える