您好,我正在使用 00003600 或 00013650 形式的退货价格
我想将其转换为 36.00 Euro 或 136.50 Euro 形式的字符串。这可以使用正则表达式来完成吗?
谢谢,
只需解析字符串,然后除以 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
最正确的方法(恕我直言):
String input = "00013650";
BigDecimal value = BigDecimal.valueOf(Long.parseLong(input), 2);
String output = value.toPlainString();
System.out.println(output);
输出:
136.5