Its from a shopping cart form

Basically what I wanted to do was stop people sending decimal values more
than 2 points.  The examples of the implementation I was sent from the
provider showed that they were just removing the decimal point from the
number value and sending that as the cents value.

Problem is if for some reason the person implementing the credit card
processing passed in 9.995 or something.  Then instead of billing the card
9.99 they would be billed 99.95.

So I figured I would move the point rather than remove it and make it a
whole number which is why I was doing this.

I have changed it from FIX() to ROUND() anyway

Steve

-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf
Of Haikal Saadh
Sent: Monday, 13 August 2007 12:19 PM
To: [email protected]
Subject: [cfaussie] Re: Strange FIX() behaviour


I remember a thread from here a while back discussing the various
idiosyncrasies of floating point arithmetic, and that you should be really
storing money in cent amounts.

I've got no first hand experience in this, but have a flip thru the
archives.

David Harris wrote:
> Something odd is happening there
>
> If you do this:
>
> <cfset cents = 995 >
> <cfoutput>
>  #FIX(cents)#
> </cfoutput>
>
> you get the expected result. eg: 995
>
> The only thing that springs to mind is that maybe:
>
> 9.95 * 100 = 994.99999999 ?
>
> not sure how to prove this theory tho...
>
>
>
> Steve Onnis wrote:
>   
>> Has anyone come across this before?
>>
>> <cfset dollar = 9.95 />
>> <cfset cents = dollar * 100 />
>> <cfoutput>
>> #FIX(cents)#
>> </cfoutput>
>>
>> outputs 994
>>
>> I could maybe understand this is i had more decimal places but it is 
>> a plain
>> 2 point decimal value.
>>
>> Any ideas?
>>
>>
>>
>>
>> <http://www.inevative.com.au/images/email-stationary/inevativeLogo_sm
>> all.jpg
>>     
>> Steve Onnis
>>
>>
>> Director / Head Developer
>>
>>
>>   <http://www.inevative.com.au/images/email-stationary/email.jpg>
>> [EMAIL PROTECTED]
>>
>>   <http://www.inevative.com.au/images/email-stationary/phone.jpg> +61 
>> 3 9001
>> 2258
>>
>>   <http://www.inevative.com.au/images/email-stationary/mobile.jpg> 
>> 0401 667
>> 996
>>
>>   <http://www.inevative.com.au/images/email-stationary/web.jpg>
>> www.inevative.com.au
>>
>>  <http://www.novahost.com.au>   <http://www.threesquares.com.au>
>> <http://www.smsonline.com.au>
>>     
>
>
> >
>
>   





--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"cfaussie" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cfaussie?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to