, . ., , 0.0126760222489 % 1.0 1.0126760222489 % 1.0. , , no-IEEE754 float/doubles , Ruby .
6543.21.modulo(137)
6543.21.modulo(137.24)
, . , Ruby 2.3.1 :
pry(main)> 6543.21.modulo(137)
=> 104.21000000000004
:
[30] pry(main)> 10.0126760222489 - 0.0
=> 10.0126760222489
[31] pry(main)> 10.0126760222489 - 1.0
=> 9.0126760222489
[32] pry(main)> 10.0126760222489 - 2.0
=> 8.0126760222489
[33] pry(main)> 10.0126760222489 - 3.0
=> 7.0126760222489
[34] pry(main)> 10.0126760222489 - 4.0
=> 6.0126760222489
[35] pry(main)> 10.0126760222489 - 5.0
=> 5.0126760222489
[36] pry(main)> 10.0126760222489 - 6.0
=> 4.0126760222489
[37] pry(main)> 10.0126760222489 - 7.0
=> 3.0126760222489004
, , . - , bigdecimal ( Ruby),
require 'bigdecimal'
BigDecimal('6543.21').modulo(137).to_s
=> "0.10421E3"
BigDecimal('6543.21').modulo(137).to_f
=> 104.21
, "bigdecimal" .