我对groovy中的大数字有疑问,我在调用DB的脚本中写入并将预算值放在名为toub_start_budget的变量中,存储的值为2570000000。 因为我想进行算术运算,所以我创建了另一个名为toub_budget的变量,并将第一个变量的值作为float放入其中。 问题是新变量没有将数据保存为float,而是保存为2.56999987E9。 而我所做的算术是错误的,例如除以1000000,将带来2569.9而不是2570的准确结果(准确性很重要)。 有人可以用算术来建议如何处理大数字吗? 问候
答案 0 :(得分:2)
不要使用float
,根据定义它是不准确的。如果您需要进行准确的计算和任意大数字,请使用BigDecimal
。如果您使用Groovy,那么只需进行计算,Groovy将在适当时自动使用BigDecimal
,您可以通过执行(2570000000 / 1000).getClass()
和(2570000000 / 1001).getClass()