1. 程式人生 > >Java中對double型別保留兩位小數的方法

Java中對double型別保留兩位小數的方法

整理了網上一些方法,方便以後查閱。

1.使用BigDecimal類

BigDecimal b1 = new BigDecimal(width);
BigDecimal b2 = new BigDecimal(height);
BigDecimal b3 = b1.multiply(b2);
		 
return b3.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
setScale方法中,第一個引數可選1或2,3以及大於3都還是保留兩位小數

2.String.format

System.out.println(String.format("%.2f", rec2.getArea()));

便於輸出,%後面的數字即為要保留的小數位數

3.DecimalFormat

DecimalFormat df = new DecimalFormat("#.00");  
System.out.println(df.format(4.125));

需注意的是,該方法只對部分double型別資料有效,原因不明

如上述4.125,保留兩位小數應該為4.13,但執行結果為4.12

以及0.123,正確結果為0.12,輸出結果為 .12

4.Math

(double)Math.round(0.123*100)/100
這個方法看似沒道理,但是測試資料輸出都是正確的
即便於輸出,而且也便於邏輯處理時計算

注意前面的double轉型不可不加!

相關推薦

Javadouble型別保留小數方法

整理了網上一些方法,方便以後查閱。 1.使用BigDecimal類 BigDecimal b1 = new BigDecimal(width); BigDecimal b2 = new BigDecimal(height); BigDecimal b3 = b1.mul

Javadouble型別保留小數

java中對double型別的小數經常會有小數點後邊保留一位小數或者保留兩位小數的需求。 javaAPi中提供了一個專門的類BigDecimal,用來對超過16位有效位的數進行精確的運算。 使用步驟:

java double型別保留小數4種方法

4種方法,都是四捨五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class

double型別保留小數4種方法

public class DoubleFormat { double f = 111231.4585; public void m1() { BigDecimal bg = new BigDecimal(f);

double型別保留小數

public static double formatDouble(double d) { if(Double.isInfinite(d) || Double.isNaN(d)) { return 0;

資料型別轉換 text 轉 double保留小數

round(rp.num/cast(si.value as DECIMAL),2) as price java 後臺資料 double 保留兩位小數: BigDecimal bd = new BigD

java 四舍五入保留小數

post 保留 print 字符 clas java body 小數 pos // 保留兩位小數 System.out.println(Double.parseDouble(String.format("%.2f", 55.5454545454))); // 保

java四舍五入(保留小數)

float 結果 兩個 ring 3.4 java 表示 hal res 方式一:最簡單的方法: float a = 123.4567f; // 這裏的100就是2位小數點,如果要其它位,如4位,這裏兩個100改成10000 float b = (float)(Math.

Oracle資料庫查詢結果集中保留小數的問題

工作中遇到的Oracle資料庫欄位格式化問題,在此記錄  保留兩位小數主要分為兩種情況:  1.數字保留兩位小數;(小數點左側數字可能比較大,比如1234567890.12)  2.百分比保留兩位小數;(小數點左側數字數字小於等於100,比如98.76%) 現針對O

javaLIst集合的種排序方法(即sort的使用方法)

List集合的排序: java提供了兩種排序方式,分別是Collections.sort(List)和Collections.sort(List,Commparator),下面就這兩種方法的使用做詳細的說明: -Collections.sort(List); sort的引數是一

小程式過濾器功能,保留小數

1. 首先建立filter 資料夾 2. wxs 程式碼 var numFr = { getNum: function (x) { var f = parseFloat(x); if (isNaN(f)) { retu

JAVA控制double型別小數點後位數的方法

本篇為原創,需要轉載或引用的朋友請註明來源,非常感謝!!!! 有時候我們需要控制double型別小數點後的位數,下面簡單介紹一下: 假如現在想把某一個double的值限制在小數點後的4位,可以這樣做:  import java.text.DecimalFormat; pu

js保留小數方法總結

var tostring angular float fixed pre 文本框 用戶輸入 希望 js保留兩位小數方法總結   最近在做結算系統,經常需要用到金額保留兩位小數,剛開始我一直用的是Angular中的過濾器number |2,但是,這無法滿足我的需求。問題是,當

oracle:sql保留小數方法

1.select cast(362315*1.0/10000 as numeric(18,2)) 2.select convert(decimal(18, 2), 362315 * 1.0 / 10000) 3.ROUND(count(aa) / count(t.bb),

Javadouble值進行四捨五入,保留小數的幾種方法

1. 功能 將程式中的double值精確到小數點後兩位。可以四捨五入,也可以直接截斷。 比如:輸入12345.6789,輸出可以是12345.68也可以是12345.67。至於是否需要四捨五入,可以通過引數來決定(RoundingMode.UP/RoundingMode.DOWN等引數)。 2. 實現程式碼

Javadouble值進行四捨五入並保留小數的幾種方法

1. 功能將程式中的double值精確到小數點後兩位。可以四捨五入,也可以直接截斷。比如:輸入12345.6789,輸出可以是12345.68也可以是12345.67。至於是否需要四捨五入,可以通過引數來決定(RoundingMode.UP/RoundingMode.DOWN

Javadouble值進行四舍五入,保留小數的幾種方法

ner 分享圖片 什麽 text 5.6 ces 技術 git app 轉: 1. 功能 將程序中的double值精確到小數點後兩位。可以四舍五入,也可以直接截斷。 比如:輸入12345.6789,輸出可以是12345.68也可以是12345.67。至於

Java-小技巧-005-double類型保留小數4種方法

bsp 轉換 args clear cal instance double static ati 4種方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.Decimal

javadouble型別顯示小數,比如12.00

本在載自:http://blog.csdn.net/chaozhidan/article/details/8161862 Double型別的資料如何保留兩位小數? 各位大蝦,現有Double型別的資料,如何轉換為保留兩位小數的數,返回值的型別仍然是Double型別的,而不

Java使用DecimalFormat保留小數,同時不保留0

import java.text.DecimalFormat; /** * Created by laozhu on 2018/4/10. */ public class Helo {