1. 程式人生 > >DecimalFormat 與double格式化

DecimalFormat 與double格式化

Demo來一發,做做記錄:

  1. //保留兩位小數
  2. private DecimalFormat decimalFormat = new DecimalFormat("0.00");  
  1. String str1="0.01";  
  2. String str2="0.09";  
  3. //轉化為Double型別數值相加減,精度不會缺失
  4. double sum = Double.parseDouble(str1) + Double.parseDouble(str2);  
  5. LogUtil.d("sum", sum + "");                //列印結果 sum=0.09999999999999999
  6. String formatTitle = decimalFormat.format(sum);  
  7. LogUtil.d("formatum", formatTitle);        //列印結果 formatTitle=0.10

   其中主要用到了DecimalFormat 這個類,它是 NumberFormat 的一個具體子類,用於格式化十進位制數字。

         Demo示例:

  1. DecimalFormat df1 = new DecimalFormat("0.0");  
  2. DecimalFormat df2 = new DecimalFormat("#.#");  
  3. DecimalFormat df3 = new DecimalFormat("000.000");  
  4. DecimalFormat df4 = new
     DecimalFormat("###.###");  
  5. LogUtil.d("sum",df1.format(12.34));     //列印結果 sum: 12.3
  6. LogUtil.d("sum",df2.format(12.34));     //列印結果 sum: 12.3
  7. LogUtil.d("sum",df3.format(12.34));     //列印結果 sum: 012.340
  8. LogUtil.d("sum",df4.format(12.34));     //列印結果 sum: 12.34

         以下摘自百度百科:

         DecimalFormat 包含一個模式 和一組符號

    符號含義:
    0  一個數字
    #  一個數字,不包括 0
    .  小數的分隔符的佔位符
    ,  分組分隔符的佔位符
    ;  分隔格式。
    -  預設負數字首。
    % 乘以 100 和作為百分比顯示
    ?  乘以 1000 和作為千進位制貨幣符顯示;用貨幣符號代替;如果雙寫,用國際貨幣符號代替。如果出現在一個模式中,用貨幣十進位制分隔符代替十進位制分隔符。
    X  字首或字尾中使用的任何其它字元,用來引用字首或字尾中的特殊字元。

相關推薦

DecimalFormat double格式化

Demo來一發,做做記錄: //保留兩位小數 private DecimalFormat decimalFormat = new DecimalFormat("0.00");   String str1="0.01";   String str2="0.09

float double型數據存儲---IEEE浮點數表示法

0.12 理解 float 標準 顯示 運算 details .com c/c++ 目前C/C++編譯器標準都遵照IEEE制定的浮點數表示法來進行float,double運算。 這種結構是一種科學計數法,用符號、指數和尾數來表示,底數定為2——即把一個浮點數表示為尾數乘以2

Linux(6)正規表示法檔案格式化處理

一.正則表示式 ①編碼對正則表示式的影響 我們看到的字元文字與數字都是透過編碼表轉換來的。由於不同語系的編碼資料並不相同,所以就會造成資料擷取結果的差異了。 舉例來說,在英文大小寫的編碼順序中,zh_TW.big5 及 C 這兩種語系的輸出結果分別如下: LANG=C  

matlab中圖片資料型別轉換uint8double

matlab中處理影象畫素點資料: img1=double(imread('lenna.bmp')); matlab中imshow圖片,要先轉換成uint8: subplot(1,2,1),imshow(uint8(img1)),title('original');subplot(1,2,2),imsh

double格式化工具類

這是專案中用到的double格式化工具類,記錄於此。 import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.Numbe

FastJson 陣列、List、Set、Map基本序列化日期格式化

摘要: FastJson可以直接序列化陣列、List、Set、Map等,也可以直接支援日期型別資料的格式化,包括java.util.Date、java.sql.Date、java.sql.Timestamp、java.sql.Time。   FastJson不僅可以支援普通

FastJson 數組、List、Set、Map基本序列化日期格式化

混合 sta 日期類 hang EDA time json2 fas nta 摘要: FastJson可以直接序列化數組、List、Set、Map等,也可以直接支持日期類型數據的格式化,包括java.util.Date、java.sql.Date、java.sql.Time

matlab裡的影象格式轉換,矩陣型別unit8double

1、uint8與double double函式只是將讀入影象的uint8資料轉換為double型別,一般不使用;常用的是im2double函式,將 uint8影象轉為double型別,範圍為0-1,如果是255的影象,那麼255轉為1,0還是0,中間

輸入輸出--格式化輸出

str()與repr() 對於字串:兩方法作用結果有差異 對於列表,元組,字典等:兩方法輸出一致 s="hello\n" print(str(s)) print(repr(s)) a=[1,2,3,4] print(str(a)) print(repr(a))

java 日期格式化 String格式化轉日期 日期運算

public static void main(String[] args) throws ParseException { long day = (strToDate("20180922").getTime() - getNewDate().getTime())/(24

鳥哥的Linux私房菜基礎篇 第十一章 正則表示式檔案格式化處理

1. 正則的概念 正則表示式就是處理字串的方法,他是以行為單位來進行字串的處理行為, 正則表示式通過一些特殊符號的輔助,可以讓使用者輕易的達到“搜尋/刪除/取代”某特定字串的處理程式! 2. 基礎

C++之CStringdouble、int及float互相轉化

在MFC程式中,可以使用Format方法方便的實現int、float和double等數字型別轉換為CString字串。以下是CString的Format支援的格式說明: %c 單個字元 %d 十進位制整數(int) %ld 十進位制整數(long) %f 十進位制浮點數(f

JAVA JDK1.8 時間戳時間格式化 實用工具類

這是為了個人的方便,也同時為了大家能更好地瞭解與使用獲取時間的各種方法。 不  廢   話, 上  代  碼 : import org.springframework.util.Assert; import java.time.Cloc

8.Linux的正規表示式檔案格式化處理

目錄 1.什麼是正規表示式? 正規表示法就是處理字串的一種方法,他是以行為單位來進行字串的處理行為, 正規表示法透過一些特殊符號的輔助,可以讓使用者輕易的達到『搜尋/刪除/取代』某特定字串的處理程式,能大大提高系統管理員的效率。 注意:正規表示法

Double.parseDouble()Double.valueOf()區別

Double.parseDouble方法是把數字型別的字串,轉換成double型別 Double.valueOf方法是把數字型別的字串,轉換成Double型別 double a = 0.009; String b = "199

floatdouble的範圍和精度

http://blog.csdn.net/dxy612/article/details/5518477 1 範圍 float和double的範圍是由指數的位數來決定的。 float的指數位有8位,而double的指數位有11位,分佈如下: float: 1bit(符號

C++中floatdouble型別的精度區別

double精度高,有效數字15-16位,float精度低,有效數字6-7位,但是double消耗的記憶體是float的兩倍,運算速度比float慢得多,建議能用float保證精度的就用float,少用double。 #include <iostream> #

DecimalFormat 保留小數格式化

DecimalFormat format 方法 大家在format()一個小數是,總是對格式中的'0'和'#'有些不解吧! eg:      1:new DecimalFormat("00.000").format(pi) //結果:03.142     2:new DecimalFormat("##.##

longdouble和int的區別

int對於記憶體的要求最小,只能對整數進行操作long和都double對於記憶體的要求都大,提高了資料的精度,但是對於精度的方向不同。若是輸入資料的精度比較大,會產生小數,那麼應該用double型別。使用double型別時,若是對保留的小數的位數有要求,此時常與Decimal

DecimalFormat (Java 格式化數字 )

DecimalFormat用法: DecimalFormat 是 NumberFormat 的一個具體子類,用於格式化十進位制數字。 DecimalFormat 包含一個模式 和一組符號 符號含義: 0 一個數字 # 一個數字,不包括 0 .