讓Double類型完整顯示,不用科學計數法顯示E


     ------------ 標題是復制別人的,但是內容是原創------------------

    今天在處理B2B項目的bug的時候,發現我post給后台的物品的含稅單價是竟然含有12345666661E10這樣的,是以String類型傳過去的

這樣后台如果不做處理,那樣肯定存在到數據庫的字段有問題。

  我采取這樣的處理方式代碼如下:--這個是直接從代碼取出來的

private BigDecimal totalAmount = new BigDecimal(0);
new BigDecimal(new Double(totalAmount.doubleValue()).toString())

我在網上查了些方案大都是這樣的處理方式如下:

 
DecimalFormat df = new DecimalFormat("0");   
  Double d = new Double("1.2345666661E10");  
  System.out.println(df.format(d));
 

這個方式有個問題,是不會保留小數點后小數位.

我的處理方式是可以保留小數位的,具體的詳細方法如下:

BigDecimal bigDecimal = new BigDecimal("1.2345666666E10");  
        String result = bigDecimal.toString();

另外我將網上的方案進行修改代碼如下:

DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(2);//這里是小數位   
  Double d = new Double("1.2345666661E10");  
  System.out.println(df.format(d));

這個方案還沒有進行完整的測試,大家如果有不同的想法一起交流!


免責聲明!

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



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