使用Java方法实现 Double和String相互转化
在Java中將String轉(zhuǎn)換為Double
至少有三種方法可以將表示double值的String 轉(zhuǎn)換為Double對象。可能還有多種方法可以做同樣的事情,如果你了解此處還有未列出的其他轉(zhuǎn)換方法,請在下方留言與我們一起分享。
1)將String轉(zhuǎn)換為Double的第一種方法就是創(chuàng)建了一個新的Double對象。Double有一個構(gòu)造函數(shù),它需要一個String值,并返回一個具有相同值的Double對象。
String toBeDouble =“200.20”;
Double fromString = new Double(toBeDouble);
- 1
- 2
請注意,如果String未表示有效的Double值,則會發(fā)生NumberFormatException。
2)將String轉(zhuǎn)換為double的第二種方法是使用double類中的parseDouble(String str)。到目前為止,這是我首選的方法,因為它具有更好的可讀性,并且是將字符串值轉(zhuǎn)換為double的標準方法。舉個例子:
Double doubleString = Double.parseDouble(toBeDouble);- 1
其中要處理在將無效的雙字符串轉(zhuǎn)換為double對象時,可能發(fā)生NumberFormatException
3)將String更改為Double的第三種方法是使用Double.valueOf(String str)方法。只需將雙字符串傳遞給此方法,就轉(zhuǎn)換為等效的Double值。
Double doubleStr = Double.valueOf(toBeDouble);- 1
如果String為null或不可轉(zhuǎn)換為double,則此方法也可以拋出NumberFormatException。
在Java中將Double轉(zhuǎn)換為String
與上面的示例一樣,有多種方法可以將Double對象轉(zhuǎn)換為String。在這個將double 轉(zhuǎn)換為String的示例中,我們將看到至少四種相同的方法。這比相反容易得多。
1)將Double轉(zhuǎn)換為String的第一種方法是使用串聯(lián)運算符 “+”生成一個新字符串。這是迄今為止最簡單的將雙重對象轉(zhuǎn)換為字符串的方法。
Double toBeString = 400.40;
String fromDouble = "" + toBeString;
- 1
- 2
2)Double轉(zhuǎn)換為String的第二種方法是使用String.valueOf(double d)方法,該方法將double值作為參數(shù)并以String literal的形式返回。這是使用valueOf()方法將double轉(zhuǎn)換為String的示例。
String strDouble = String.valueOf(toBeString);- 1
3)將Double轉(zhuǎn)換為String的第三種方法是使用Double Class的toString()方法,這與第一種方式使用的方法基本相同 因為是連接運算符在內(nèi)部調(diào)用對象的toString()方法來獲取其String。
String stringDouble = toBeString.toString();- 1
4)第四種方式更靈活地從Double獲取String。它使用String.format()方法并返回一個格式化的字符串,這樣就可以控制精度級別,并根據(jù)需要獲得最多兩個或三個小數(shù)點的字符串。
String convertedString = String.format(“%。3f”,toBeString);- 1
此convertedString包含最多3個小數(shù)點的double值。“f”用于格式化浮點數(shù)。大概你已經(jīng)注意到,我們正在將Double對象傳遞給那些期望Double原語值的方法,而這只有在自動裝箱的情況下才可能實現(xiàn)。如果你在Java 5下運行,請使用intValue()doubleValue()方法以原始格式獲取值。
這些是將任何String更改為Double wrapper 類的一些基本方法,反之亦然。如果你了解此處還有未列出的其他轉(zhuǎn)換方法,請在下方留言與我們一起分享。
總結(jié)
以上是生活随笔為你收集整理的使用Java方法实现 Double和String相互转化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle数据库的一些常用命令
- 下一篇: VS2017的C++开发心得:头文件的路