[PHP] How do i assign Integers only and not real numbers?

2002-09-23 Thread Tom

Hi all,

I have a line of code that assigns a new year number: -

$years = $years + ( $themonth / 12 );

but sometimes $years == 1998.08

or

$year == 2002.75

etc...

I cant find anything like a round() or floor() function in PHP so that year
would be 1998 or 2002 only.

Does anyone know what function would do this?  Sorry if I`m wasting your
time if its a really obvious one!

thanks in advance,
Tom



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP] How do i assign Integers only and not real numbers?

2002-09-23 Thread M . A . Bond

You could cast it to an int, although the manual warns that you can get
spurious errors upon casting an unknown fraction, so be careful.

$year= (int) ($years);

Mark


-Original Message-
From: Tom [mailto:[EMAIL PROTECTED]] 
Sent: 23 September 2002 15:47
To: [EMAIL PROTECTED]
Subject: [PHP] How do i assign Integers only and not real numbers?


Hi all,

I have a line of code that assigns a new year number: -

$years = $years + ( $themonth / 12 );

but sometimes $years == 1998.08

or

$year == 2002.75

etc...

I cant find anything like a round() or floor() function in PHP so that year
would be 1998 or 2002 only.

Does anyone know what function would do this?  Sorry if I`m wasting your
time if its a really obvious one!

thanks in advance,
Tom



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] How do i assign Integers only and not real numbers?

2002-09-23 Thread Support @ Fourthrealm.com

Hi Tom,
Try this:
$years = round($years + ( $themonth / 12 ));


 From the manual:
float round ( float val [, int precision])
Returns the rounded value of val to specified precision (number of digits 
after the decimal point). precision can also be negative or zero (default).


ceil() and floor() also exist.



Peter


At 03:46 PM 9/23/2002 +0100, Tom wrote:
Hi all,

I have a line of code that assigns a new year number: -

$years = $years + ( $themonth / 12 );

but sometimes $years == 1998.08

or

$year == 2002.75

etc...

I cant find anything like a round() or floor() function in PHP so that year
would be 1998 or 2002 only.

Does anyone know what function would do this?  Sorry if I`m wasting your
time if its a really obvious one!

thanks in advance,
Tom



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

- - - - - - - - - - - - - - - - - - - - -
Fourth Realm Solutions
[EMAIL PROTECTED]
http://www.fourthrealm.com
Tel: 519-739-1652
- - - - - - - - - - - - - - - - - - - - -


Re: [PHP] How do i assign Integers only and not real numbers?

2002-09-23 Thread 1LT John W. Holmes

If you end up using floor(), watch for floating point errors. You could
expect your division to come out to a whole number, say 12, but be
represented by 11.999 in the computer. So that'll floor() to 11. You
can add a fluff to your division to counteract this:

$years = floor($years + ($themonth / 12) + 0.0001);

---John Holmes...

- Original Message -
From: Support @ Fourthrealm.com [EMAIL PROTECTED]
To: Tom [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: Monday, September 23, 2002 11:06 AM
Subject: Re: [PHP] How do i assign Integers only and not real numbers?


 Hi Tom,
 Try this:
 $years = round($years + ( $themonth / 12 ));


  From the manual:
 float round ( float val [, int precision])
 Returns the rounded value of val to specified precision (number of digits
 after the decimal point). precision can also be negative or zero
(default).


 ceil() and floor() also exist.



 Peter


 At 03:46 PM 9/23/2002 +0100, Tom wrote:
 Hi all,
 
 I have a line of code that assigns a new year number: -
 
 $years = $years + ( $themonth / 12 );
 
 but sometimes $years == 1998.08
 
 or
 
 $year == 2002.75
 
 etc...
 
 I cant find anything like a round() or floor() function in PHP so that
year
 would be 1998 or 2002 only.
 
 Does anyone know what function would do this?  Sorry if I`m wasting your
 time if its a really obvious one!
 
 thanks in advance,
 Tom
 
 
 
 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php

 - - - - - - - - - - - - - - - - - - - - -
 Fourth Realm Solutions
 [EMAIL PROTECTED]
 http://www.fourthrealm.com
 Tel: 519-739-1652
 - - - - - - - - - - - - - - - - - - - - -


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP] How do i assign Integers only and not real numbers?

2002-09-23 Thread Tom Callaghan

Thanks for the answers all,  I`ve combined the floor and the precision
answer and it does exactly what I want it to do.

Cheers,
Tom

-Original Message-
From: 1LT John W. Holmes [mailto:[EMAIL PROTECTED]]
Sent: 23 September 2002 16:24
To: Tom; [EMAIL PROTECTED]; Support @ Fourthrealm.com
Subject: Re: [PHP] How do i assign Integers only and not real numbers?


If you end up using floor(), watch for floating point errors. You could
expect your division to come out to a whole number, say 12, but be
represented by 11.999 in the computer. So that'll floor() to 11. You
can add a fluff to your division to counteract this:

$years = floor($years + ($themonth / 12) + 0.0001);

---John Holmes...

- Original Message -
From: Support @ Fourthrealm.com [EMAIL PROTECTED]
To: Tom [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: Monday, September 23, 2002 11:06 AM
Subject: Re: [PHP] How do i assign Integers only and not real numbers?


 Hi Tom,
 Try this:
 $years = round($years + ( $themonth / 12 ));


  From the manual:
 float round ( float val [, int precision])
 Returns the rounded value of val to specified precision (number of digits
 after the decimal point). precision can also be negative or zero
(default).


 ceil() and floor() also exist.



 Peter


 At 03:46 PM 9/23/2002 +0100, Tom wrote:
 Hi all,
 
 I have a line of code that assigns a new year number: -
 
 $years = $years + ( $themonth / 12 );
 
 but sometimes $years == 1998.08
 
 or
 
 $year == 2002.75
 
 etc...
 
 I cant find anything like a round() or floor() function in PHP so that
year
 would be 1998 or 2002 only.
 
 Does anyone know what function would do this?  Sorry if I`m wasting your
 time if its a really obvious one!
 
 thanks in advance,
 Tom
 
 
 
 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php

 - - - - - - - - - - - - - - - - - - - - -
 Fourth Realm Solutions
 [EMAIL PROTECTED]
 http://www.fourthrealm.com
 Tel: 519-739-1652
 - - - - - - - - - - - - - - - - - - - - -


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php