Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Real Value to Integer.....

Posted on 1998-09-29
4
Medium Priority
?
1,409 Views
Last Modified: 2008-03-10
Hey folks..

I need to know how to cast a floating point value into an
integer..

Suppose I have declared two variables..

i: Integer;
e: Extended;

Then

i := e;              //Doesn't work
i := Int(e);         //Doesn't work
i := FloatToInt(e);  //Doesn't work
i := Integer(e);     //Doesn't work

What do I do to make this work??
0
Comment
Question by:lar_jens
  • 2
4 Comments
 
LVL 5

Expert Comment

by:JimBob091197
ID: 1341118
You have to round the float to get the integer:

i := Round(e);

Cheers,
JB
0
 

Accepted Solution

by:
gaona earned 200 total points
ID: 1341119
You have to Trunc the float to get the integer:

i := Trunc(e);

Regards,
Gaona

0
 
LVL 4

Expert Comment

by:erajoj
ID: 1341120
Hah!
You're wrong all of you! Here's the real way to do it:

    i := StrToInt( Copy( Format( '%g', [ e ] ), 1, Pos( DecimalSeparator, Format( '%g', [ e ] ) ) - 1 ) ) +
         StrToInt( Copy( Format( '%g', [ Frac( e ) + 0.5 ] ), Pos( DecimalSeparator, Format( '%g', [ Frac( e ) + 0.5 ] ) ) - 1, 1 ) );

;->

BTW, use JimBob's solution. Never use Trunc unless it is exlplicitly stated that all decimals should be neglected.

/// John
0
 

Expert Comment

by:gaona
ID: 1341121
If you want to round the value of the variable ' e' for the whole closer, discarding its decimals, use the function:  
 
i:=trunc(e+0.5)  
 
that substitutes the function i:=round(e).  
 
thank you for the points.  
 
gaona
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
Despite its rising prevalence in the business world, "the cloud" is still misunderstood. Some companies still believe common misconceptions about lack of security in cloud solutions and many misuses of cloud storage options still occur every day. …
Suggested Courses

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question