From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,9b4538cfeb0c3576,start X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!f42g2000yqn.googlegroups.com!not-for-mail From: Henrique Newsgroups: comp.lang.ada Subject: Float conversion Date: Thu, 29 Jul 2010 05:23:42 -0700 (PDT) Organization: http://groups.google.com Message-ID: <9e669a3b-1013-4bd1-b372-5f7dfa46d083@f42g2000yqn.googlegroups.com> NNTP-Posting-Host: 201.7.145.1 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1280406222 17894 127.0.0.1 (29 Jul 2010 12:23:42 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 29 Jul 2010 12:23:42 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: f42g2000yqn.googlegroups.com; posting-host=201.7.145.1; posting-account=B_68zwoAAABo5d-uMxDzx4n-gXWKiMZT User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:12659 Date: 2010-07-29T05:23:42-07:00 List-Id: Hi, I have some problems in converting float variables in Ada. Look at the code below. Why var4 is not equal var1? Thanks. -- Execution results: -- var3: = var4: > -- Code: -- with Ada.Text_IO, Ada.Float_Text_IO; use Ada.Text_IO, Ada.Float_Text_IO; procedure Test is type My_Float is digits 6; CONVERSION_CONSTANT : constant My_Float := 6076.11; CONVERSION_CONSTANT2 : constant My_Float := 1.0 / CONVERSION_CONSTANT; package Float_Text_IO is new Ada.Text_IO.Float_IO (Long_Float); use Float_Text_IO; var1: My_Float := 999.9; var2: My_Float := var1*CONVERSION_CONSTANT; var3: My_Float := var2/CONVERSION_CONSTANT; var4: My_Float := var2*CONVERSION_CONSTANT2; begin Put("var3: "); if var3 = var1 then Put("="); elsif var3 > var1 then Put(">"); else Put("<"); end if; New_Line; Put("var4: "); if var4 = var1 then Put("="); elsif var4 > var1 then Put(">"); else Put("<"); end if; end Test;