java double转long
时间: 2023-08-08 12:08:54 浏览: 162
如果你想将一个 `double` 类型的变量转换成 `long` 类型,可以使用 `Math.round()` 方法将其四舍五入为最接近的整数,并将结果强制类型转换为 `long` 类型。示例如下:
```java
double d = 3.1415926;
long l = (long) Math.round(d);
```
注意,如果 `double` 类型的变量超出了 `long` 类型的范围,将会抛出 `ArithmeticException` 异常。
相关问题
java Double 转 Long
可以使用 Double 类的 longValue() 方法将 Double 转换为 long,然后再将其转换为 Long 类型。示例代码如下:
```java
Double doubleValue = 3.14159;
Long longValue = Long.valueOf(doubleValue.longValue());
```
或者直接将 Double 类型的变量强制转换为 long 类型,然后再将其转换为 Long 类型。示例代码如下:
```java
Double doubleValue = 3.14159;
Long longValue = Long.valueOf((long) doubleValue.doubleValue());
```
java double 转 long 优化
在将 double 类型转换为 long 类型时,如果 double 类型的值已经超出了 long 类型的范围,那么进行强制类型转换时会发生精度丢失或溢出问题。
为了避免这种问题,可以使用 `Math.round()` 方法将 double 类型的值四舍五入后再转换为 long 类型,例如:
```java
double d = 3.14;
long l = Math.round(d);
```
这将会将 `d` 的值四舍五入后转换为 `long` 类型,并将其赋值给 `l`。这种方式可以避免精度丢失或溢出问题,但需要注意的是,这种转换方式也可能导致精度损失。
阅读全文