1

異なる形式の文字列数値から実際の値を取得するための最良の方法についてアドバイスしていただけますか?

例:

これらすべての文字列を渡すことができるようにしたい:

101,00
101.00
-101,00
-101.00
100,000.00
100.000,00
-100,000.00
-100.000,00

メソッドからこれらの戻り値を取得します。

101.00
101.00
-101.00
-101.00
100000.00
100000.00
-100000.00
-100000.00

string.replaceAll("","") を使用する必要がありますか、それとももっと良い方法がありますか?

ありがとう

4

1 に答える 1

1

replace all を使用しても機能しません。必要な場合は、「。」の最後の出現を見つけることです。または「、」を小数点として使用します。

http://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.htmlに基づく

public static void main(String... args) throws ParseException {
    DecimalFormatSymbols dfs1 = new DecimalFormatSymbols();
    dfs1.setDecimalSeparator('.');
    dfs1.setGroupingSeparator(',');

    DecimalFormat df1 = new DecimalFormat("#,##0.00", dfs1);
    System.out.println(df1.format(-10000)+" parsed is "+df1.parse("-10,000.01"));

    DecimalFormatSymbols dfs2 = new DecimalFormatSymbols();
    dfs2.setDecimalSeparator(',');
    dfs2.setGroupingSeparator('.');

    DecimalFormat df2 = new DecimalFormat("#,##0.00", dfs2);
    System.out.println(df2.format(-10000)+" parsed is "+df2.parse("-10.000,01"));
}

版画

-10,000.00 parsed is -10000.01
-10.000,00 parsed is -10000.01
于 2012-04-27T07:48:16.517 に答える