我目前正在学习Java,无意中发现了"BigDecimal“的用法。据我所见,"BigDecimal“更精确,因此建议使用它而不是普通的Double。
我的问题是:我应该总是在双倍以上使用"BigDecimal“,因为它总是更好,还是它有一些缺点?对于初学者来说,切换到"BigDecimal“值得吗?还是只有当您有更多的Java经验时才推荐呢?
发布于 2020-07-17 20:40:42
当您在处理不需要完美精度的实数时,应该使用double。以下是一些常见的例子:
由于以下几个原因,计算机图形学很少需要精确性,因为很少有显示器的像素数超过4位数以上;此外,大多数三角函数只适用于work
double,而三角函数对于大多数图形的分析是必不可少的;均值和标准差之类的度量标准通常比单个数据pointsRandom.nextDouble())的精度要高一些,后者的点不是一个特定的数字;优先级是某个特定的distribution)
对于像金钱这样的价值,在任何时候使用double都是一个不好的时机。BigDecimal通常应该用于金钱和任何你关心特定小数位数的东西,但它的性能较差,提供的数学运算也较少。
https://stackoverflow.com/questions/62961262
复制相似问题