java使用Long类型保存19位数精度不丢失方法
时间: 2024-01-25 21:04:30 浏览: 150
在Java中,使用Long类型保存19位数会发生精度丢失,因为Long类型的范围是从-9223372036854775808到9223372036854775807,如果超过了这个范围,就会发生精度丢失。如果要保存19位数并且不希望发生精度丢失,可以使用Java中的BigInteger类。BigInteger类可以处理任意长度的整数,因此可以用它保存19位数。
以下是使用BigInteger类保存19位数的示例代码:
```java
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
BigInteger num = new BigInteger("1234567890123456789");
System.out.println(num);
}
}
```
在上面的示例中,使用了BigInteger类来表示长整数,并使用字符串初始化了一个19位数的长整数。这样就可以避免使用Long类型发生精度丢失的情况。
相关问题
java对long类型进行19位数赋值时精度丢失
是的,当使用Java中的long类型进行19位数赋值时,由于long类型的范围有限,可能会发生精度丢失的情况。在Java中,可以使用BigInteger类来处理这种情况。以下是使用BigInteger类实现长整数赋值的示例代码:
```java
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
BigInteger num = new BigInteger("1234567890123456789");
System.out.println(num);
}
}
```
在上面的示例中,使用了BigInteger类来表示长整数,并使用字符串初始化了一个19位数的长整数。这样就可以避免使用long类型发生精度丢失的情况。
阅读全文