Thank you very much. That help me a lot.

--- In [email protected], "Gordon Smith" <[EMAIL PROTECTED]> wrote:
>
> You presumably meant the result should be 23.7, not 23.8.
> 
>  
> 
> However, getting 23.700000000000003 isn't a bug; you'd get the same
> answer in other languages like Java and C++. The imprecision is because
> Number in ActionScript (like float in Java and C++) stores a
> floating-point value as a binary fraction, not as a decimal fraction.
> These datatypes use binary fractions because that's how current
> microprocessors store and manipulate floating-point values.
> 
>  
> 
> Java solves this problem by having a BigDecimal class whjich can store
> decimal fractions. In that case, computations are slower because it
> takes many microsprocessor instructions to do a single operation.
> 
>  
> 
> The current version of ActionScript doesn't have any decimal fraction
> datatype, but it is under consideration for a future version of the
> language. The lack of this feaure comes up about once a week, and some
> participants on flexcoders have discussed the possibiliy of porting
> BigDecimal or its equivalent to ActionScript.
> 
>  
> 
> Perhaps you can simply round your results to the precision you need?
> Take a look at the toFixed() method of the Number class.
> 
>  
> 
> - Gordon
> 
>  
> 
> ________________________________
> 
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of beloved_zhou
> Sent: Wednesday, August 30, 2006 4:22 AM
> To: [email protected]
> Subject: [flexcoders] Is this a bug? About Number type.
> 
>  
> 
> I am using Flex2.0, and I try to get a result about 3 multiply 7.9,
> the result should be 23.8, but I got 23.700000000000003.
> 
> Here is a sample code:
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml
> <http://www.adobe.com/2006/mxml> "
> layout="absolute">
> <mx:TextInput x="76" y="348" id="txt_1" text="3"/>
> <mx:TextInput x="291" y="348" id="txt_2" text="7.9"/>
> <mx:TextInput x="560" y="348" id="txt_3"/>
> <mx:Button x="474" y="348" label="Button" click="doIt()"/>
> <mx:Script>
> <![CDATA[
> private var num1:Number = 3;
> private var num2:Number = 7.9;
> 
> private function doIt():void
> {
> txt_3.text = String(Number(txt_1.text) * Number(txt_2.text));
> trace(num1 * num2);
> }
> ]]>
> </mx:Script>
> </mx:Application>
>






--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to