任务描述

本关任务:将键盘输入的字符串类型的值转换为 Double 类型,将转换后的结果输出。

相关知识

Double 类在对象中包装了一个基本类型 double 的值。Double 类对象包含一个 double 类型的字段。此外,该类还提供了多个方法,可以将 double 类型与 String 类型相互转换,同时还提供了处理 double 类型时比较常用的常量和方法。

Double 类中的构造方法有如下两个:

  • Double(double value):构造一个新分配的 Double 对象,它表示转换为 double 类型的参数;
  • Double(String s):构造一个新分配的 Double 对象,它表示 String 参数所指示的 double 值。

例如,以下代码分别使用以上两个构造方法获取 Double 对象:



  1. Double double1 = new Double(3.25); // 以 double 类型的变量作为参数创建 Double 对象
  2. Double double2 = new Double("9.765"); // 以 String 类型的变量作为参数创建 Double 对象

接下来我们来看 Double 的一些常用方法:

方法

返回值

功能

byteValue()

byte

以 byte 类型返回该 Double 的值

doubleValue()

double

以 double 类型返回该 Double 的值

fioatValue()

float

以 float 类型返回该 Double 的值

intValue()

int

以 int 类型返回该 Double 的值(强制转换为 int 类型)

longValue()

long

以 long 类型返回该 Double 的值(强制转换为 long 类型)

shortValue()

short

以 short 类型返回该 Double 的值(强制转换为 short 类型)

isNaN(double v)

boolean

如果指定的参数是一个非数字值,则返回 true,否则返回 false

toString()

String

返回一个表示该 Double 值的 String 对象

valueOf(String s)

Double

返回保存指定的 String 值或数值型的 Double 对象

parseDouble(String s)

double

将数字字符串转换为 double 数值

我们来看几个示例:

  • intValue():可以将 Double 对象类型变成 int 的基础数据类型;
  1. public class TestDemo {
  2. public static void main(String[] args) {
  3. // 定义一个 Double 对象类型的变量
  4. Double a = new Double(10.0);
  5. // 将 a 类型转变为 int 的基础数据类型
  6. int i = a.intValue();
  7. System.out.print(i);
  8. }
  9. }

执行结果:

  1. 10
  • isNaN(double v):如果指定的参数是一个非数字值,则返回 true,否则返回 false;
  1. // 定义一个 double 型的变量
  2. double d = 1.8E307d / 15.2;
  3. // 判断该参数是否是非数字值
  4. System.out.print(Double.isNaN(d));

执行结果:

  1. false
  • toString():返回一个表示该 Double 值的 String 对象;
  1. // 定义一个 Double 类型的变量
  2. Double double1 = new Double(3.25);
  3. // 将 Double 值转化为 String 类型
  4. String s = double1.toString();
  5. System.out.print(s);

执行结果: ```

3.25




  1. - valueOf(String s):返回保存指定的 String 值或数值型的 Double 对象;

String a = "12.50"; float b = 10.0f; int c = 18; // 将 String 型的数据转换为 Double 对象 Double aDouble = Double.valueOf(a); // 将 float 型的数据转换为 Double 对象 Double bDouble = Double.valueOf(b); // 将 int 型的数据转换为 Double 对象 Double cDouble = Double.valueOf(c); System.out.println(aDouble); System.out.println(bDouble); System.out.print(cDouble);



  1. 执行结果:

12.5 10.0 18.0




  1. - parseDouble:将数字字符串转换为 double 数值。

public class TestDemo { public static void main(String[] args) { String a = "12.50"; double v = Double.parseDouble(a); System.out.print(v); } }



  1. 执行结果:

12.5

```

在 Double 类中包含了很多常量,其中较为常用的常量如下:

  • MAX_VALUE:值为 1.8E308 的常量,它表示 double 类型的最大正有限值的常量;
  • MIN_VALUE:值为 4.9E-324 的常量,它表示 double 类型数据能够保持的最小正非零值的常量;
  • NaN:保存 double 类型的非数字值的常量;
  • NEGATIVE_INFINITY:保持 double 类型的负无穷大的常量;
  • POSITIVE_INFINITY:保持 double 类型的正无穷大的常量;
  • SIZE:以二进制补码形式表示 double 值的比特位数;
  • TYPE:表示基本类型 double 的 Class 实例。
/*
 * 将键盘输入的字符串类型的值转换为 Double 类型,将转换后的结果输出。
 */

import java.util.Scanner;

public class TestDemo {
    public static void main(String[] args) {
        // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
        /********* Begin *********/
        // 获取键盘输入的字符串的值
        Scanner input = new Scanner(System.in);
        String str = input.next();
        // 将该值转换为 Double 类型
        Double D = Double.parseDouble(str);
        // 输出转换后的结果
        System.out.println(D);
        /********** End **********/
    }
}