【发布时间】:2014-03-07 13:55:45
【问题描述】:
我想声明一个大常数。但是 java 显示一个错误,我的常量对于 int 来说太大了。但我想要一个长常数。怎么办?
public static final long MAXMONEY = 1000000000000000000;
【问题讨论】:
标签: java long-integer
我想声明一个大常数。但是 java 显示一个错误,我的常量对于 int 来说太大了。但我想要一个长常数。怎么办?
public static final long MAXMONEY = 1000000000000000000;
【问题讨论】:
标签: java long-integer
要编写长文本,您需要在数字末尾添加L。试试
public static final long MAXMONEY = 1000000000000000000L;
我没有测试,这个数字是否足够小。
【讨论】:
默认情况下,所有非浮点字面量都被视为整数,整数的最大值为2147483647,因此1000000000000000000 此处不正确(超出整数范围)。
如果你想创建long 文字,你需要通过在末尾添加l 或L 来指定它
1000000000000000000l
1000000000000000000L
首选方法是添加L,因为l 看起来像1 并导致混淆。
但如果您真的要对大数进行操作,请考虑使用BinInteger 或BigDecimal 类来避免integer overflow。你可以用
new BigInteger("1000000000000000000");
【讨论】:
如果您需要非常大的数字,您可以为一个数字定义多个变量。
【讨论】: