格式化问题:如何给数字供电?

时间:2014-08-28 08:38:33

标签: java

格式化以下作为字符串给我的数字的最佳方法是什么?

String number = "1.574e10" //assume my value will always be a String

我希望这是一个字符串,其值为:1000500000.57

我如何将其格式化?

2 个答案:

答案 0 :(得分:1)

double x = Double.valueOf("1.574e10");
String s = String.format("%.2f", x);

此处浮点的f说明符给出了小数点后的两个位置,没有科学指数(e10)。

答案 1 :(得分:0)

解析double,然后格式化doubleBigDecimal.toString()提供了规范表示:

// Double.parseDouble() also accepts format like "1.574e10"
String formatted = new BigDecimal(Double.valueOf("1.574e10")).toString()

结果:

15740000000

关于很好地格式化浮点数,请参阅:

How to nicely format floating numbers to String without unnecessary decimal 0?