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

将当前 Double 进行原始值缩小转换后返回长整数.

定义

public long longValue()

返回值

返回当前对象的 long 型表示

说明

Number 类的 longValue() 方法指定实现.

具体实现参阅 Java™ 语言规范: 5.1.3 原始值缩小转换

注意事项

本方法获取的是 Double 的字面长整型近似值, 而 doubleToLongBits()doubleToRawLongBits() 获取的是 Double 的位格式的 long 型表示方式. 这个差别需要注意.

示例

获取 Double 对象 long 型值的示例

package com.yi21.Double;

public class Yi21DoubleLongValue {

    public static void main(String[] args) {

        Double d = 0.0;
        System.out.println(d + " 的 long 型值: " + d.longValue());

        d = -0.0;
        System.out.println(d + " 的 long 型值: " + d.longValue());

        d = Double.NaN;
        System.out.println(d + " 的 long 型值: " + d.longValue());

        d = Double.POSITIVE_INFINITY;
        System.out.println(d + " 的 long 型值: " + d.longValue());

        d = Double.MAX_VALUE;
        System.out.println(d + " 的 long 型值: " + d.longValue());

    }

}

执行结果为 :

0.0 的 long 型值: 0
-0.0 的 long 型值: 0
NaN 的 long 型值: 0
Infinity 的 long 型值: 9223372036854775807
1.7976931348623157E308 的 long 型值: 9223372036854775807