在本教程中,我们将了解如何将Java字符串转换为双倍数据类型:

我们将学习使用以下方法将Java中的字符串转换为双倍值:

  • Double.parseDouble(String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • new Double(String s)

将Java字符串转换为双数的方法

在某些情况下,在我们的Java程序中,我们必须对一个数值进行某种算术运算,如计算账单、计算存款金额的利息,等等。 Java字符串数据类型 .

比如说、 在这种情况下,我们首先要把这个字符串转换为数字,然后再把数字转换为文本格式,即Java字符串。 Java原始数据类型double .

让我们逐一详细了解各种方法。

#1) Double.parseDouble()方法

parseDouble()方法是由Double类提供的。 Double类被称为封装类,因为它将原始类型double的值封装在一个对象中。

让我们看一下下面的方法签名:

public static double parseDouble(String str) throws NumberFormatException

这是在Double类上的一个静态方法,它返回一个由指定的String表示的双倍数据类型。

在这里, 'str'。 参数是一个包含要解析的双倍值表示法的字符串,并返回参数所表示的双倍值。

这个方法会抛出一个异常 NumberFormatException 当字符串不包含可解析的双数时。

比如说、 让我们考虑这样一种情况:我们想在收到物品原价的折扣后计算价格。

为此,项目的原价和折扣等输入值以文本形式来自你的计费系统,我们要对这些值进行算术运算,计算出从原价中扣除折扣后的新价格。

让我们看看如何使用Double.parseDouble()方法在下面的示例代码中把字符串值解析为双数:

 包 com.softwaretinghelp; /** * 本类演示了将字符串转换为双数的java程序的示例代码 * 使用Double.parseDouble()方法 * * @作者 */ public class StringToDoubleDemo1 { public static void main(String[] args) { // Assign "500.00" to String variable originalPriceStr String originalPriceStr = "50.00D"; // Assign "30" to String variable originalPriceStr StringdiscountStr = "+30.0005d"; System.out.println("originalPriceStr : "+originalPriceStr); System.out.println("discountStr : "+discountStr); //将originalPriceStr即字符串 "50.00D "作为参数传给parseDouble() //将字符串'originalPriceStr'值转换为双数 //并将其分配给双数变量originalPrice double originalPrice = Double.parseDouble(originalPriceStr); //将 discountStri.e. String "30.005d" 作为parseDouble()的参数 // 将字符串'discountStr'的值转换为双数 // 并将其分配给双数变量 discount double discount = Double.parseDouble(discountStr); System.out.println("Welcome, our original price is : $"+originalPrice+""); System.out.println("We are offering discount : "+discount+"%"); // 计算折扣后的新价格 double newPrice =originalPrice - ((originalPrice*discount)/100); //在控制台打印获得折扣后的新价格 System.out.println("Enjoy new attractive price after discount: $"+newPrice+"); } } 

下面是程序输出:

originalPriceStr :50.00D

贴现率 :+30.0005d

欢迎,我们的原价是:50.0美元

我们提供的折扣:30.0005%。

享受折扣后的诱人新价格:$34.99975

这里,字符串是 "50.00D",其中D表示字符串是一个双倍值。

 String originalPriceStr = "50.00D"; 

这个OriginalPriceStr即 "50.00D "被作为参数传递给parseDouble()方法,其值被分配给双倍变量originalPrice。

 double originalPrice = Double.  解析双数  (originalPriceStr); 

parseDouble()方法将字符串值转换为双数,并去掉 "+"或"-"和'D','d'。

因此,当我们在控制台打印原始价格时:

 系统。  出了  .println("欢迎,我们的原价是:$"+originalPrice+"); 

下面的输出将显示在控制台:

欢迎,我们的原价是:50.0美元

同样,对于String discountStr = "+30.0005d"; 字符串 "+30.0005d "可以用parseDouble()方法转换为双倍数:

 double discount = Double.  解析双数  (discountStr); 

因此,当我们在控制台打印折扣时。

 System.out.println("We are offering discount : "+discount+"%"); 

下面的输出将显示在控制台:

 我们提供的折扣:30.0005%。 

此外,在程序中对这些数字值进行算术运算。

#2) Double.valueOf()方法

valueOf()方法是由包装类Double提供的。

让我们看一下下面的方法签名:

公共静态Double valueOf(String str)抛出NumberFormatException

该静态方法返回数据类型为Double的对象,该对象具有由指定的String str表示的双倍值。

这里,'str'参数是一个包含要解析的双数表示法的字符串,并返回参数所代表的十进制的双数值。

这个方法会抛出一个异常 NumberFormatException 当String不包含可以解析的数字值时。

让我们在下面的示例程序的帮助下,尝试了解如何使用这个Double.valueOf()方法:

 包 com.softwaretinghelp; /** * 本类演示了将字符串转换为双数的java程序的示例代码 * 使用Double.valueOf()方法 * * @作者 */ public class StringToDoubleDemo2 { public static void main(String[] args) { // Assign "1000.0000d" to String variable depositAmountStr String depositAmountStr = "1000.0000d"; // Assign "5.00D" to String variable interestRate StringinterestRateStr = "+5.00D"; // 将 "2 "分配给字符串变量 yearsStr String yearsStr = "2"; System.out.println("depositAmountStr : "+depositAmountStr); System.out.println("interestRateStr : "+interestRateStr); System.out.println("yearsStr : "+yearsStr); // 将 depositAmountStr 即字符串 "1000.0000d" 作为参数传给 valueOf() // 以将字符串 " depositAmountStr' 值转换成 double // 并予以分配双重变量 depositAmount Double depositAmount = Double.valueOf(depositAmountStr); // 将 interestRateStr 即字符串 "5.00D "作为参数传给 valueOf() // 将字符串 'interestRateStr' 的值转换为双重值 // 并将其分配给双重变量 discount Double interestRate = Double.valueOf(interestRateStr); // 将 yearsStr 即字符串 "2" 作为参数传给 valueOf() // 转换字符串'yearStr'值为双数//并将其分配给双数变量折扣 Double years = Double.valueOf(yearStr); System.out.println("欢迎来到ABC银行,感谢您在我行存款:$"+ depositAmount+"); System.out.println("我行提供有吸引力的1年利率:"+interestRate+"%"); //计算2年后存款额的利息 Double interestEarned =((depositAmount*interestRate*years)/100); System.out.println("You will be receiving total interest after "+years+" is $"+interestEarned+"); } } 

下面是程序输出:

depositAmountStr :1000.0000d

利率结构 :+5.00D

yearsStr :2

欢迎来到ABC银行,感谢您在我行存款:1000.0美元

我们的银行正在提供有吸引力的1年利率:5.0%。

你将收到2.0之后的总利息是100.0美元

在这里,我们正在给字符串变量赋值:

 String depositAmountStr = "1000.0000D"; String interestRateStr = "+5.00D"; String yearsStr = "2"; 

使用valueOf()方法将这些值转换为Double,如下所示。

 Double depositAmount = Double.  价值  (depositAmountStr); 

我们使用相同的数值进行进一步的算术计算,如:

 Double interestEarned = ((depositAmount*interestRate*years)/100); 

#3) DecimalFormat Parse ()方法

为此,我们首先检索NumberFormat类实例并使用NumberFormat类的parse()方法。

让我们看一下下面的方法签名:

public Number parse(String str) throws ParseException

该方法解析指定的文本。 这使用了一个从开始位置开始的字符串,并返回数字。

这个方法会抛出一个异常 异常分析 如果字符串的开头不在可解析的范围内。

让我们看看下面的示例程序。 这个示例代码使用parse()方法解析了含有双倍值的格式化文本字符串:

 包 com.softwaretinghelp; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.ParseException; /** * 本类演示了将字符串转换为双数的java程序的示例代码 * 使用DecimalFormat parse () 方法 * * @作者 */ public class StringToDoubleDemo3 { public static void main(String [] args) throws ParseException { // Assign "5,000,00.00" to String变量 pointsString String pointsString = "5,000,00.00"; System.out.println("pointsString : "+pointsString); // 将 pointsString 即 String "+5,000,00.00" 作为参数传给 // DecimalFormat.getNumberInstance().parse() 方法 // 将 string pointsString 值转换成 double // 并将其分配给 double variable points NumberFormat num = DecimalFormat.getNumberInstance(); Number pointsNum =num.parse(pointsString); double points = pointsNum.doubleValue(); System.out.println("Congratulations ! You have earned : "+points+" points!"); } } 

下面是程序输出:

积分字符串 :5,000,00.00

恭喜你!你已经获得了:500000.0分!

这里,格式化的文本被分配给字符串变量,如下所示:

 String pointsString = "5,000,00.00"; 

这个格式化的文本 "5,000,00.00 "被作为参数传给num.parse()方法。

在此之前,NumberFormat类实例是使用DecimalFormat创建的。 getNumberInstance ()方法。

 NumberFormat num = DecimalFormat.getNumberInstance(); Number pointsNum = num.parse(pointString); 

因此,通过调用doubleValue()方法来获取双倍值,如下所示。

 double points = pointsNum.doubleValue(); 

#4) New Double()构造函数

还有一种将Java字符串转换为双数的方法是使用Double类的构造函数(String str)

public Double(String str)throws NumberFormatException

该构造函数构造并返回一个Double对象,该对象的值由指定的String表示,为双倍类型。

弦外之音 是一个字符串,用于转换为Double

这个方法抛出一个异常,称为 NumberFormatException 如果字符串没有可解析的数字值,则为 "不"。

让我们试着了解如何在以下示例程序的帮助下使用这个Double (String str)构造函数,该程序首先将半径从String转换为double,从而计算出圆的面积。

 包 com.softwaretinghelp; /** * 本类演示了将字符串转换为双数的java程序的示例代码 * 使用新的Double(String str)构造函数 * * @作者 */ public class StringToDoubleDemo4 { public static void main(String[] args) { // Assign "+15.0005d" to String variable radiusStr String radiusStr = "+15.0005d"; System.out.println("radiusStr : "+radiusStr); // Pass radiusStri.e.String "+15.0005d "作为new Double()的参数//将字符串radiusStr值转换成双数//并将其分配给双数变量radius double radius =  双人  (radiusStr)  .doubleValue(); System.out.println("圆的半径:"+半径+"厘米"); //计算圆的面积 double area = (3.14*(半径*半径)); System.out.println("圆的面积:"+area+"厘米"); } } 

下面是程序输出:

半径 :+15.0005d

圆的半径:15.0005厘米

圆的面积:706.5471007850001厘米

在上述程序中,圆的半径值被分配给了String变量:

 String radiusStr = "+15.0005d"; 

为了计算圆的面积,使用Double()构造函数将半径转换为双倍值,该构造函数返回Double数据类型的值。 然后调用doubleValue()方法来检索原始日期类型双倍的值,如下所示。

 双倍半径=  双倍(radiusStr).doubleValue(); 

请注意: Double(String str)构造函数从Java 9.0开始就被废弃了,这就是Double在上面的语句中有删除线的原因。

因此,现在这种方式不太受欢迎。 因此,我们已经涵盖了将一个Java字符串转换为双倍Java原始数据类型的所有方法。

让我们来看看下面一些关于字符串到双数转换方法的常见问题。

常见问题

问题#1)我们能在Java中把字符串转换为双数吗?

答案是: , 在Java中,字符串到双倍的转换可以通过以下Java类方法完成:

  • Double.parseDouble(String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • new Double(String s)

问题2)如何将一个字符串变成一个双数?

答案是: Java提供了各种方法来将字符串变成双数。

下面给出的是Java类的方法:

  • Double.parseDouble(String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • new Double(String s)

问题#3) 在Java中是否有double?

答案是: . Java提供了各种原始数据类型来存储数值,如short、int、double等。 double是一种表示浮点数的Java原始数据类型。 这种数据类型需要8个字节来存储,具有64位浮点精度。 这种数据类型是表示十进制值的常见选择。

问题#4)什么是Java中的扫描器?

答案是: Java提供了java.util.Scanner类来获取用户的输入,它有各种方法来获取不同数据类型的输入。 比如说、 nextLine()用于读取字符串数据类型的值。 为了读取双倍数据值,它提供了 nextDouble() 方法。

总结

在本教程中,我们看到了如何在Java中使用以下类方法以及简单的例子将String数据类型转换为原始数据类型double。

  • Double.parseDouble(String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • new Double(String s)
滚动到顶部