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是一個非常不尋常找數,我必須首先做一些字符串解析來刪除零?還是有一個快速和優雅的方式?