Как проверить число на чётность не чётность?

Статус
В этой теме нельзя размещать новые ответы.

Фанат

oncle terrible
Команда форума
phprus
тут тебе, чуть выше, напомнили одно твоё высказывание из самого начала.
ты его как-нибудь прокомментируешь? =)
 

Gorynych

Посетитель PHP-Клуба
Фанат
это высказывание напомнить стоило не только ему, но и всем любителям изучать результаты компиляции :)

но было весело читать, да
 

Фанат

oncle terrible
Команда форума
Gorynych
Возможно, со стороны это кажется именно так.
Но изнутри, поверь мне, иногда очень хочется хотя бы на время забыть, что этот форум - песочница для вправления мозгов ламерам, и воспомнить, хотя бы ненадолго, что называется она "форум профессиональных разработчиков".
Разработчики в этом топике чудесно оттянулись. И то, что они не заметили один косяк, развлекаясь с другими - уж в упрёк-то точно никому ставить не надо.
 

StUV

Rotaredom
Gorynych
Фанат
ээ... вы о чем ?
если вы про нецелые числа, то в пхп и строки четные ;)

-~{}~ 01.09.06 16:35:

зы: не все ессно - есть и нечетные =)))
 

Фанат

oncle terrible
Команда форума
StUV
к сообщению http://phpclub.ru/talk/showthread.php?postid=645657#post645657
и комментарию в нём про целые числа.
если ты не понял, то долго объяснять.
 

StUV

Rotaredom
Фанат
ну и что ?
что вы хотите от phprus - чтобы он сказал "сорри, был не прав" - еще есть надежды ?..
 

Gorynych

Посетитель PHP-Клуба
StUV
если вы про нецелые числа, то в пхп и строки четные
не... строки не бывают четными или нечетными :) Это головы бывают забывчимы, а нюансы не учтены.

что-то я не слышал о том, что контекстная типизация это основание для столь далеко идущих выводов.
 

Фанат

oncle terrible
Команда форума
StUV, когда в топике было 10 каментов, я решил написать "Даёшь 100!", но потом побоялся сглазить, и не стал.
а сейчас просто вношу посильный вклад в достижение этой благой цели ;-)
 

akd

dive now, work later
Команда форума
ну тада "чмоке всем кто в этом чате" :)
 

phprus

Moderator
Команда форума
Фанат
Да с вещественными четными/нечетными числами я ошибся. Четными и нечетными могут быть только целые числа. Но это ошибку допустил не только я.

StUV
Спасибоза ссылку. В понедельник прочитаю.

P.S. Да нет 100 это мало. Даешь 200! :)

-~{}~ 01.09.06 19:05:

StUV
Нет ИМХО такую тему удалать ни в коем случае нельзя.
 

manwithnoname

Новичок
Автор оригинала: phprus
Фанат
Да с вещественными четными/нечетными числами я ошибся. Четными и нечетными могут быть только целые числа. Но это ошибку допустил не только я.
(буквоедствуя) еще четными/нечетными бывают функции. это чтоб вас от квантора общности отучить :)
 

romy4

invoke [brain]
а вы для работы с вещественными числами используйте bcmath. он только для этого и предназначен. PHP оч. плохо работает с float числами.
по-моему в мане именно и указывается, что надо bcmath использовать.
 

Фанат

oncle terrible
Команда форума
Спасибо, romy4!
Один из немногих ответов в тему.
А то развели тут сплюсплюс...
 

dr-sm

Новичок
Автор оригинала: Crazy
....
$var % 2 дает числовой результат. if ожидает булевское выражение. В PHP встроено множество правил неявного молчаливого преобразования типов и одно из них здесь сработает.

Но такие преобразования -- зло. И везде, где можно без ущерба от них отказаться -- нужно отказываться.

P.S. Надеюсь, не нужно объяснять, почему они - зло? Числа со строками случайно сравнивать уже доводилось?
Crazy это я по поводу неявных и молчаливых преобразований в if. мне кажется, их семанитику таки нужно использовать, если знаешь как она работает. А если числа сравниваются со строками, то код можно считать кривым по структуре уже.
А скобки я круглые имел виду, относительно использования, опять же неявного, приоритета операторов, в достаточно сложных условиях. но это не та тема уже, так к слову прогнал просто :).
 

baev

‹°°¬•
Команда форума
Ежели без bcmath
PHP:
$var = 2.000000000000001;
if ( fmod($var, 2) == 0 ) {
    print("четное\n");
} else {
    print("нечетное\n");
}
(Да, с bcmode код такой же, только вместо чисел — строки.)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху