[VPM] changing a real to an integer

Darren Duncan darren at DarrenDuncan.net
Mon Jan 19 17:36:47 CST 2004


At 2:44 PM -0800 1/19/04, Carl B. Constantine wrote:
>If I have a real nubmer like: -0.0800000000017462 and I want to multiply
>by 1000 and then cut the excess fraction off the end so that all I'm
>left with is -80 instead of -80.0000000017462, how would I do that?

This is what I would do:

$intnum = int(1000*$realnum);

I think the parens for 'int' are optional.  Essentially that casts its operand as an int and cuts off any fractional part.  I'm not sure if this is a truncation or a round, but I suspect truncation is more likely.

Note that, if you want to round a number to an arbitrary number of places, N, you can do it like this:

$rounded = int($original*(10**N))/(10**N);

If you do it often, this would be good to put in a named function, like round_to_n_places.

-- Darren Duncan



More information about the Victoria-pm mailing list