javadoubleDouble
1. java中兩個double相乘後面多了好多位
double 類型運算會出現精度問題
要先轉換為字元串,後進行運算,可以寫個方法做乘法運算
public static double mul(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
加法: return b1.add(b2).doubleValue();
減法: return b1.subtract(b2).doubleValue();
2. java 的double型怎麼保留小數點後8位而且不會失真比如:1.098765432應該是
1、String.format("%.8f", 1.098765432)
2、new java.text.DecimalFormat("#.00000000").format(nu1.098765432)
這兩個都是使用四捨五入,不會失真。
3. JAVAdouble轉stringdouble轉long不丟失精度方法
在Java中將String轉換為Double至少有三種方法可以將表示double值的String 轉換為Double對象。可能還有多種方法可以做同樣的事情,如果你了解此處還有未列出的其他轉換方法,請在下方留言與我們一起分享。
1)將String轉換為Double的第一種方法就是創建了一個新的Double對象。Double有一個構造函數,它需要一個String值,並返回一個具有相同值的Double對象。
String toBeDouble =「200.20」;Double fromString = new Double(toBeDouble);請注意,如果String未表示有效的Double值,則會發生NumberFormatException。
2)將String轉換為double的第二種方法是使用double類中的parseDouble(String str)。到目前為止,這是我首選的方法,因為它具有更好的可讀性,並且是將字元串值轉換為double的標准方法。舉個例子:
Double doubleString = Double.parseDouble(toBeDouble); 其中要處理在將無效的雙字元串轉換為double對象時,可能發生NumberFormatException
3)將String更改為Double的第三種方法是使用Double.valueOf(String str)方法。只需將雙字元串傳遞給此方法,就轉換為等效的Double值。
Double doubleStr = Double.valueOf(toBeDouble);如果String為null或不可轉換為double,則此方法也可以拋出NumberFormatException。
在Java中將Double轉換為String
與上面的示例一樣,有多種方法可以將Double對象轉換為String。在這個將double 轉換為String的示例中,我們將看到至少四種相同的方法。這比相反容易得多。
1)將Double轉換為String的第一種方法是使用串聯運算符 「+」生成一個新字元串。這是迄今為止最簡單的將雙重對象轉換為字元串的方法。
Double toBeString = 400.40;String fromDouble = "" + toBeString;2)Double轉換為String的第二種方法是使用String.valueOf(double d)方法,該方法將double值作為參數並以String literal的形式返回。這是使用valueOf()方法將double轉換為String的示例。
String strDouble = String.valueOf(toBeString);3)將Double轉換為String的第三種方法是使用Double Class的toString()方法,這與第一種方式使用的方法基本相同 因為是連接運算符在內部調用對象的toString()方法來獲取其String。
String stringDouble = toBeString.toString();4)第四種方式更靈活地從Double獲取String。它使用String.format()方法並返回一個格式化的字元串,這樣就可以控制精度級別,並根據需要獲得最多兩個或三個小數點的字元串。
String convertedString = String.format(「%。3f」,toBeString);此convertedString包含最多3個小數點的double值。「f」用於格式化浮點數。大概你已經注意到,我們正在將Double對象傳遞給那些期望Double原語值的方法,而這只有在自動裝箱的情況下才可能實現。如果你在Java 5下運行,請使用intValue()doubleValue()方法以原始格式獲取值。
這些是將任何String更改為Double wrapper 類的一些基本方法,反之亦然。
4. java中Double與double型數組有啥區別
最大的區別是Double數組中可以有null值。
因為,Double是java對象,double是java原型數據類型。
所以,Double數組是一個對象數組,double型數組是一個原型數組。
從效率來看,double數組的效率會高。
5. java里double類和double的區分 是不是在於一個是大寫一個是小寫
不是就大小寫的區別問題。
Double 是類 double是基礎數據類型。Double類型是double的包裝類.
Double 和double之間的相互轉化稱為自動拆箱和自動裝箱。
如果從對象角度理解,那麼Double就是對象,double就是數值。
Double對象.doubleValue()才是Double對象的數值。
6. 請問java中,Double類型和double有什麼不同能否轉換
Double 是類 double是基礎數據類型。Double類型是double的包裝類,在JDK1.5以後,二者可以直接相互賦值,稱為自動拆箱和自動裝箱。如果是這樣,可以用Double中的方法,將包裝類轉為基本數據類型。
可以轉換的。