我应该使用哪种数据类型来获得大而准确的数字?

时间:2015-11-08 09:24:34

标签: java android

我正在制作一个简单的Android计算器应用程序,它根据用户输入的数字计算百分比。通常它在一个合理的值内,所以我使用了int。但我遇到了大数字的问题,并且int自动处理十进制值,所以我试图找到一个替代方案。我应该为大数字使用哪种数据类型,这是非常准确的?

1 个答案:

答案 0 :(得分:5)

  

我应该使用哪种数据类型来获得大而准确的数字?

我会根据Javadoc使用BigDecimal

  

不可变,任意精度的带符号十进制数。 BigDecimal由任意精度整数未缩放值和32位整数 scale 组成。

例如,

BigDecimal a = new BigDecimal("1000");
BigDecimal b = new BigDecimal("0.001");
BigDecimal c = a.multiply(b);
System.out.println(c.toPlainString());