sur*_*ahl 1 java floating-point type-conversion bigdecimal
我有一个数字,格式为(13,2)13位和2位小数.我需要对它进行一些计算(比如乘法,除法).我打算BigDecimal用于计算.我应该使用double或float进行计算,因为BigDecimal比较慢一点?
BigDecimal
Dan*_*den 7
最重要的考虑因素不是速度而是正确性.
如果您的值是连续值的样本,例如对大小,距离,重量,角度等现实世界属性的测量,那么IEEE-754 double或者float可能是更好的选择.这是因为在这种情况下,10的幂不一定比其他值"更圆"(例如,弧度中的角度测量可以是超越数,但仍然是"圆形").
double
float
如果您的值是离散值,如货币计量,那么double是不正确的,浮点十进制类型BigDecimal是正确的.这是因为,在这种情况下,离散增量是有意义的,并且值"0.01"是"圆形"并且比诸如"0.009999999999999"或"0.010000000000000001"之类的数字更正确.
归档时间:
10 年,8 月 前
查看次数:
748 次
最近记录: