1

こんにちは、00003600 または 00013650 の形式で返品価格を使用しているサービスです

これを 36.00 ユーロまたは 136.50 ユーロの形式の文字列に変換したいと思います。これは正規表現を使用して行うことができますか。

ありがとう、

4

3 に答える 3

4

文字列を解析してから 100 で割ります。または、BigDecimal とスケールを使用します。

于 2012-07-10T12:17:45.257 に答える
1

他の答えが十分に明確でなかった場合

String text = "00003600";
BigDecimal value = new BigDecimal(text).scaleByPowerOfTen(-2);
System.out.println(value);

プリント

36.00

また

String text = "00003600";
double value = Double.parseDouble(text) / 100;
System.out.printf("%.2f%n", value);

プリント

36.00
于 2012-07-10T12:22:30.703 に答える
0

最も正しい方法(IMHO):

String input = "00013650";
BigDecimal value = BigDecimal.valueOf(Long.parseLong(input), 2);
String output = value.toPlainString();
System.out.println(output);

出力:

136.5
于 2012-07-10T12:29:22.350 に答える