SO上有一个类似的问题,它建议使用NumberFormat,这是我所做的。将科学计数法转换成十进制表示法
我正在使用NumberFormat的parse()方法。
public static void main(String[] args) throws ParseException{
DecToTime dtt = new DecToTime();
dtt.decToTime("1.930000000000E+02");
}
public void decToTime(String angle) throws ParseException{
DecimalFormat dform = new DecimalFormat();
//ParsePosition pp = new ParsePosition(13);
Number angleAsNumber = dform.parse(angle);
System.out.println(angleAsNumber);
}
结果我得到的是
1.93
我真的没有想到这个工作,因为1.930000000000E + 02是一个非常不寻常找数,我必须首先做一些字符串解析来删除零?还是有一个快速和优雅的方式?