http://www.perlmonks.org?node_id=689319

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I'm looking at the difference between currency exchange rate updates.

Take for example the price change from 1.5553 to 1.5552 In trading terms I can see this is a difference of 1 point since I have a pre-conceived interpretation of the numbers and how they move.

Sometimes my platform gets sent updates that drop trailing 0's after a decimal point.

e.g. '100.20' is shown as '100.2', likewise '100.00' is shown as '100'.

So how does one work out the point movement from 0.9984 -> 0.998 or 100.25 -> 100.3?

Other than converting the number to a string, calculating the number of decimal places (as x) in both rates and then multiplying the rate by 10^x (where x is the higher count of decimal places between two rates), minus rate 2 from rate 1 and then divide this resulting value by 10^(x-1)......is there an easier way...or more specifically a better performing way (mathematical)?


Thanks for any input.