Author

Topic: BUG Report: Rounding glitch (Read 8233 times)

hero member
Activity: 490
Merit: 504
My avatar pic says it all
July 17, 2010, 12:05:40 PM
#3
I figured it was a bug with the display. I spent the bitpenny back the other direction and the balance on the first box returned to its initial state. Tongue
founder
Activity: 364
Merit: 3077
July 17, 2010, 11:06:12 AM
#2
It must be a rounding error when getinfo converts to floating point to return the JSON-RPC result.  The only place where it uses floating point to represent money is returning a value in JSON-RPC.

1.139999999999 is longer than bitcoin can internally represent.

internally, it could only be:
1.13999999 or
1.14000000

1.139999999999 is much much closer to 1.14000000 than 1.13999999, so it must be 1.14000000.

The code is this:
(double)GetBalance() / (double)COIN.

(I can't think of an easy way to fix it at the moment)
hero member
Activity: 490
Merit: 504
My avatar pic says it all
July 17, 2010, 09:10:03 AM
#1
Check this out...

I just installed 0.3.1 on two different machines and moved one bitpenny (0.01):

-= Before the transfer =-

[[email protected] ~]$ ~/bin/bitcoind getinfo
{
    "balance" : 1.150000000000,
    "blocks" : 68717,
    "connections" : 6,
    "proxy" : "",
    "generate" : false,
    "genproclimit" : -1,
    "difficulty" : 181.5432893640505
}

[[email protected] ~]$ ~/bin/bitcoind getinfo
{
    "balance" : 0.000000000000,
    "blocks" : 68717,
    "connections" : 22,
    "proxy" : "",
    "generate" : false,
    "genproclimit" : -1,
    "difficulty" : 181.5432893640505
}

-= AFTER the transfer =-

[[email protected] ~]$ ~/bin/bitcoind getinfo
{
    "balance" : 1.139999999999,
    "blocks" : 68717,
    "connections" : 10,
    "proxy" : "",
    "generate" : false,
    "genproclimit" : -1,
    "difficulty" : 181.5432893640505
}

[[email protected] ~]$ ~/bin/bitcoind getinfo
{
    "balance" : 0.010000000000,
    "blocks" : 68717,
    "connections" : 20,
    "proxy" : "",
    "generate" : false,
    "genproclimit" : -1,
    "difficulty" : 181.5432893640505
}

I personally think it is a display problem, but I can't be sure.. strange, no?

Both machines are running FreeBSD 7.2/amd64.
Jump to: