当前做一项目,涉及到的问题是从数据库中查询出来的数据为(String)
0.0
-0.07405
2001
如何转换为如下格式
0.000000E+00
-7.405000E-02
1.258650E+09
java中数字以指数方式显示
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- tangpython 2011-05-19 18:29关注
没看仔细,现在重新开始
[code="java"]
DecimalFormat f = new DecimalFormat("0.000000E00"); //定义格式
String str=f.format(Double.parseDouble("0.0"));
if (!str.contains("E-")) { //处理数据,给正数的科学计数法添加正号
str = str.replace("E", "E+");
}
System.out.println(str);
[/code]
我们可以单独定义一个方法:
[code="java"]
public static String transform(String str){
if (!str.contains("E-")) {
str = str.replace("E", "E+");
}
return str;
}
[/code]
这样大体过程如下:
[code="java"]
DecimalFormat f = new DecimalFormat("0.000000E00");
String str=f.format(Double.parseDouble("0.0"));
System.out.println(transform(str));
[/code]
运行结果是
0.000000E+00
-7.405000E-02
2.001000E+03
应该能满足你的要求本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报