[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
RE: [PHP] How do i assign Integers only and not real numbers?
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?
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?
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?
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