Amounts are currently expressed in BTC as decimal numbers. But an RPC-using script can't read these numbers as floating points or you could get rounding problems. You could use your scripting language's perfect decimal object (python Decimal.Decimal for example), but the problem is that the JSON parser is probably using floats.
The RPC interface shouldn't just be possible to use, it should be easy! So let sidestep the decimal problem entirely by providing values in integer satoshis. First step is to make a PR for one RPC call and get that reviewed and committed. Please start with the gettransaction RPC, which currently returns fields called "amount" in two places in the JSON hierarchy. For every amount field, create a new field called "satoshis" (located as a sibling to "amount") and put the amount as an integer in it.
The RPC interface shouldn't just be possible to use, it should be easy! So let sidestep the decimal problem entirely by providing values in integer satoshis. First step is to make a PR for one RPC call and get that reviewed and committed. Please start with the gettransaction RPC, which currently returns fields called "amount" in two places in the JSON hierarchy. For every amount field, create a new field called "satoshis" (located as a sibling to "amount") and put the amount as an integer in it.