格式化以下作为字符串给我的数字的最佳方法是什么?
String number = "1.574e10" //assume my value will always be a String
我希望这是一个字符串,其值为:1000500000.57
我如何将其格式化?
答案 0 :(得分:1)
double x = Double.valueOf("1.574e10");
String s = String.format("%.2f", x);
此处浮点的f
说明符给出了小数点后的两个位置,没有科学指数(e10)。
答案 1 :(得分:0)
解析double
,然后格式化double
。 BigDecimal.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?