java double轉string去除科學計數法"E" 非tostring()和valueOf()


在遇到需要將double類型轉換string類型時,會出現轉成科學計數法的形式,希望字符串能原樣輸出.直接使用會報java.lang.Double cannot be cast to java.lang.String類型轉換錯誤,以下是搜集后的double轉字符串的方式希望對你有所幫助!
測試環境:jdk13.

測試通過的做法,使用NumberFormat

  1. Double s=Double.parseDouble("10000339") ;
  2. NumberFormat nf = NumberFormat.getInstance();
  3. nf.setGroupingUsed(false);
  4. String s1 = nf.format(s);

運行結果10000339

總結網上的幾種錯誤轉換方式:

方式一:valueOf() 依舊會有科學計數法

  1. Double s=Double.parseDouble("10000339") ;
  2. String s1 = String.valueOf(s);

運行結果1.0000339E7

方式二:toString() 依舊會有科學計數法

  1. Double s=Double.parseDouble("10000339") ;
  2. String s1 = s.toString();

運行結果1.0000339E7

方式三 format 會存在小數情況

  1. Double s=Double.parseDouble("10000339") ;
  2. String s1 = String.format("%.3f", s);

運行結果10000339.000

值得一提是Double s=new Double("10000339");這種方式在java9版本后就被拋棄使用了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM