Thanks for the input but I'm very aware of floating point precision flaws and I think it more has to do with rounding Bitcoins' 8 decimals and compressing them into a common format for everyone which is usually 2 decimals(also aimed at USA so I picked the 2 decimal precision)
Also on top of that all my prices are linked to USD costs not BTC so they are converted on the fly for each display for example
Product "A" costs around $250 so to show the customer the price in BTC value I gotta divide which at the current rate $3.1
$250/$3.1 = 80.645161290323 BTC
(12 decimal precision)
Obviously displaying a 12 decimal precision number will look un-attractive to buyers so I compress it to a common format of 2 decimal places which PHP outputs as
80.65
How ever a "sub-total" is never the "total" cost I have to include shippingcosts and once in a while "tax" so lets look at this example (remember my prices in my database are link in USD format)
Subtotal: $250/$3.1 = 80.645161290323 BTC
Shipping: $20/$3.1 = 6.4516129032258
Subtotal + shipping = $270
Subtotal + shipping = 87.096774193549 BTC
Check87.096774193549 BTC * $3.1 = 270;
$270 / $3.1 = 87.096774193548 BTC
Compare Values87.096774193549
87.096774193548
Round 87.096774193548 BTC 87.1 BTC
Notice the extra Bitcent?
even though customers are Paying the same thing as they would be.... it just "looks" more.