Actions
Bug #17214
closedBigDecimal exponentiation gives incorrect results
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
Description
This is an incorrect value:
(BigDecimal("2222") ** BigDecimal("3.5")).to_i
# => 517135311000
This is the correct value (within Float precision):
2222 ** 3.5
# => 517135308457.25256
As the Base gets larger, the problem is more visible. Wrong value, number of trailing zeroes increase:
(BigDecimal("22222") ** BigDecimal("3.5")).to_i
# => 1635840670000000
Nearing maximum Float precision:
22222 ** 3.5
# => 1635840670214066.5
Actions
Like0
Like0Like0Like0