こんにちは、00003600 または 00013650 の形式で返品価格を使用しているサービスです
これを 36.00 ユーロまたは 136.50 ユーロの形式の文字列に変換したいと思います。これは正規表現を使用して行うことができますか。
ありがとう、
文字列を解析してから 100 で割ります。または、BigDecimal とスケールを使用します。
他の答えが十分に明確でなかった場合
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
最も正しい方法(IMHO):
String input = "00013650";
BigDecimal value = BigDecimal.valueOf(Long.parseLong(input), 2);
String output = value.toPlainString();
System.out.println(output);
出力:
136.5