1. 程式人生 > >Java中double型別四捨五入的方法總結

Java中double型別四捨五入的方法總結

//方法一:
BigDecimal bd= new BigDecimal(a);
Double b = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println("方法一: "+b);
//方法二:
Double myValue = new BigDecimal(a).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();   
nf.setGroupingUsed(false);  
System.out.println("方法二: "+myValue);
//方法三:
// #.00 表示兩位小數 #.0000四位小數  
DecimalFormat df2 =new DecimalFormat("#.00");  
String str2 =df2.format(a);  

相關推薦

Javadouble型別四捨五入方法總結

//方法一: BigDecimal bd= new BigDecimal(a); Double b = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println("方法一: "+b); //方法二: Double my

javadouble型別資料加減操作精度丟失問題及解決方法

double型別資料加減操作精度丟失問題 今天在專案中用到double型別資料加減運算時,遇到了一個奇怪的問題,比如1+20.2+300.03,理論上結果應該是321.23,其實結果並不是這樣。 public double add() {

Javadouble型別比較大小或相等的方法

在Java中int型別資料的大小比較可以使用雙等號,double型別則不能使用雙等號來比較大小,如果使用的話得到的結果將永遠是不相等,即使兩者的精度是相同的也不可以。下面介紹兩種比較double資料是否相等的方法。 第一種方法:轉換成字串 如果要比較的兩個double資料的

javadouble型別的記憶體表示

轉自[http://bbs.csdn.net/topics/260050279] 浮點數儲存的位元組格式如下: 地址 +0 +1 +2 +3 內容 SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM 這裡 S 代表符號位,1是負,0是正 E 偏移1

JavaDouble型別的精確計算

複製程式碼 import java.math.BigDecimal; public class DoubleUtil { private static final int DEF_DIV_SCALE = 5; // 小數點後的保留位數 /** * Dou

JavaDouble 型別四捨五入

下面簡單給出三種:個人喜歡第一種,比較靈活,保留多少位很方便設定 import java.math.RoundingMode; import java.text.NumberFormat; publ

javadouble型別顯示兩個小數,比如12.00

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

javaDouble型別的運算精度丟失的問題 (小數點多出99999999999999)

 在使用Java,double 進行運算時,經常出現精度丟失的問題,總是在一個正確的結果左右偏0.0000**1。 特別在實際專案中,通過一個公式校驗該值是否大於0,如果大於0我們會做一件事情,小於0我們又處理其他事情。 這樣的情況通過double計算出來的結果去和0比較

Javadouble型別精度丟失問題

  首先,之所以double浮點數型別中會出現精度不準確這個問題,是因為浮點數在計算機的儲存方法導致的,要想具體瞭解的話,可以檢視《計算機組成原理》這本書,裡面有比較詳盡的解答。   接下來由一道題來引出接下來要講的這個問題:   對任意給定的一個doubl

Javadouble型別的資料精確到小數點後兩位

轉自:http://blog.sina.com.cn/s/blog_69bd73800100yaej.html 多餘位四捨五入,四種方法 一: double f = 111231.5585; BigDecimal b = new BigDecimal(f); do

Javadouble型別保留兩位小數

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

Java匿名類使用方法總結

匿名內部類也就是沒有名字的內部類 正因為沒有名字,所以匿名內部類只能使用一次,它通常用來簡化程式碼編寫 但使用匿名內部類還有個前提條件:必須繼承一個父類或實現一個介面 例項1:不使用匿名內部類來實現抽象方法 abstract class Person

javadouble型別如果小數點後為零顯示整數,否則保留

//方法一 public static String doubleTrans1(double num) { if(num % 1.0 == 0) { return String.valueOf((long)num); } return String.value

JAVAdouble型別計算精度控制

偶遇一個問題,進行如下計算 public class Demo {  public static void main(String[] args) {   int i = 1;   double d = i*0.005;   System.out.println(d);  

Java double和float型別計算丟失精度問題總結

背景 問題發生在某天中午,當我訂單付完款後,不想要了就點選了全額退款,但是給我的提示確實 “您輸入的金額不正確”,我就納悶了,為什麼不能退?看了下程式碼,然後就發現了問題... 1、bigdecimal 轉換成小數計算有誤差 真實專案中校驗退款金額是否超過訂單實付款

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

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

JavaDouble保留後小數位的幾種方法

絕對值 解決 quest getpara 直接 mil pri 表單提交 bsp 最近做個小實驗,其中一部分要求將表單提交的數據轉換為double,這個功能其實很簡單直接一句Double.parseDouble(request.getParameter("chinese")

java 基本型別之間的轉換 String double long int

將String轉化為Double、Long、Integer 一、java中字串轉換成Double型別     Double doubleType = Double.parseDouble(String) 二、java中字串轉換成Long型別 Long

C語言與java語言資料型別的差別總結

在學習java的時候,看到char ch =  '男' ;我就覺得很奇怪,char型別不是佔用一個位元組嗎?為什麼定義成一個漢字被說成是一個字元了?原來,在C語言中,char在32位作業系統下佔用1個位

java 傳陣列到Oraclein arr的方法總結

方法一:把陣列轉為字串,然後把[ ]替換為(),在拼起來 public static void query(Connection conn,String[] arr ){ PreparedS