1

您好,我正在使用 00003600 或 00013650 形式的退货价格

我想将其转换为 36.00 Euro 或 136.50 Euro 形式的字符串。这可以使用正则表达式来完成吗?

谢谢,

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

最正确的方法(恕我直言):

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 回答