Difference between revisions of "Talk:Proper Money Handling (JSON-RPC)"

From Bitcoin Wiki
Jump to: navigation, search
 
Line 4: Line 4:
 
And the fixes are the same:  either round to the nearest .0000001 or to the nearest 1 before display, etc.
 
And the fixes are the same:  either round to the nearest .0000001 or to the nearest 1 before display, etc.
  
::The real solution is not to write money-handling code in ECMAScript. [[User:Sdfdsafsaff|Sdfdsafsaff]] 23:15, 10 June 2011 (GMT)
 
  
 
For Ruby I think the syntax is:
 
For Ruby I think the syntax is:
Line 15: Line 14:
  
 
Since the value is already in ECMAScript's native representation, why would you use a conversion function?
 
Since the value is already in ECMAScript's native representation, why would you use a conversion function?
 +
* The RPC value is passed as an inexact floating point. Money handling should always be done as integers. --[[User:Luke-jr|Luke-jr]] 00:57, 11 June 2011 (GMT)

Latest revision as of 00:57, 11 June 2011

RE: best practices in ECMAScript: Just converting to base units doesn't magically fix the issues; if I have 1.0BTC == 100000000.0 base units and I need to divide that value into three equal pieces, I'm going to run into issues whether the result is 0.3333333.... or 3333333.33333...

And the fixes are the same: either round to the nearest .0000001 or to the nearest 1 before display, etc.


For Ruby I think the syntax is:

(f * 1e8).round.to_f / 1e8

Correct?

ECMAScript?

Since the value is already in ECMAScript's native representation, why would you use a conversion function?

  • The RPC value is passed as an inexact floating point. Money handling should always be done as integers. --Luke-jr 00:57, 11 June 2011 (GMT)