Java Double.toString() 方法及代码示例

获取 Double 对象或 double 值的字符串表示.

初见版本

1.5

定义

public String toString()

public static String toString(double d)

参数

参数类型参数名称参数描述
doubled要转换的参数

返回值

返回 Double 对象或 double 值的字符串表示.

说明

静态的 toString() 方法返回 double 的字符串表示形式. 下面提到的所有字符都是 ASCII 字符:

  • 若参数为 NaN, 则结果字符串也为 "NaN".
  • 否则,结果是表示参数的符号和大小(绝对值)的一个字符串. 如果符号为负,则结果的第一个字符为 '-' ('\u002D'); 如果符号为正, 则结果中不会出现表示符号的字符. 至于大小 m 有如下表示:
    • 如果 m 是无穷的, 那么他的字符串表示为 "Infinity", 因此基于符号的表示如下: 正无穷产生结果 "Infinity", 负无穷产生结果 "-Infinity".
    • 如果 m 为 0, 那么他的字符串表示为 "0.0", 因此基于符号的表示如下: 正 0 产生结果 "0.0", 负 0 生结果 "-0.0".
    • 如果 m 大于或等于 10-3 但小于 107,则表示为 m 的整数部分, 以十进制形式表示, 不带前导零, 后跟 “.”('\u002E'), 然后后跟一个或多个小数位, 表示 m 的小数部分.
    • 如果 m 小于 10-3 或大于或等于 107, 它会以 "计算机科学计数法" 表示. 令 n 为唯一整数, 使得 10n ≤ m < 10n+1; 然后让 am10n 的数学精确商, 使得 1 ≤ a < 10. 然后将大小表示为 a 的整数部分, 作为单个十进制数字. 后跟 "." ('\u002E'),后跟表示 a 小数部分的十进制数字, 然后是字母 'E' ('\u0045'), 然后是 n 表示为十进制整数, 由 Integer.toString(int) 方法生成.

ma 的小数部分必须打印多少位? 必须至少有一个数字来表示小数部分, 除此之外, 必须有尽可能多的数字, 但需要将参数值与相邻的 double 类型值唯一区分开来. 也就是说, 假设 x 是由该方法为有限非零参数 d 生成的十进制表示所表示的精确数学值. 那么 d 必须是最接近 xdouble 值; 或者如果两个 double 同样接近 x, 则 d 必须是其中之一, 并且 d 的有效位的最低有效位必须为 0.

要创建浮点值的本地化字符串表示, 请使用 NumberFormat 的子类.

非静态的 toString() 方法由该对象表示的原始双精度值完全转换为字符串, 就像调用静态方法 toString(double) 方法一样.

非静态的 toString() 方法重写了 Object 类的 toString() 方法.

示例

使用 Double.toString() 生成 Double 字符串的示例

package com.yi21.Double;

public class Yi21DoubleToString {

    public static void main(String[] args) {
        showString(Double.NaN);
        showString(Double.POSITIVE_INFINITY);
        showString(Double.NEGATIVE_INFINITY);
        showString(0.0);
        showString(-0.0);
        showString(21.0);
        showString(-21.0);
        showString(6283.34);
        showString(-231.34);
        showString(0.0000323);
        showString(21000000.0);
        showString(21000000.3);
    }

    private static void showString(double d) {
        System.out.println(d + " 的字符串表示: " + Double.toString(d));;
    }

}

执行结果为 :

NaN 的字符串表示: NaN
Infinity 的字符串表示: Infinity
-Infinity 的字符串表示: -Infinity
0.0 的字符串表示: 0.0
-0.0 的字符串表示: -0.0
21.0 的字符串表示: 21.0
-21.0 的字符串表示: -21.0
6283.34 的字符串表示: 6283.34
-231.34 的字符串表示: -231.34
3.23E-5 的字符串表示: 3.23E-5
2.1E7 的字符串表示: 2.1E7
2.10000003E7 的字符串表示: 2.10000003E7