正则表达式在字符串中查找价格

时间:2012-07-10 12:16:25

标签: java regex

您使用的服务我使用的格式为00003600或00013650

我想将其转换为36.00欧元或136.50欧元的字符串。 可以使用正则表达式来完成。

谢谢,

3 个答案:

答案 0 :(得分:4)

只需解析字符串然后除以100.或者使用BigDecimal并缩放。

答案 1 :(得分:1)

如果其他答案不够明确

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

打印

36.00

OR

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

打印

36.00

答案 2 :(得分:0)

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

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

输出:

136.5