- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Какое-нибудь округление до целого к обоим примените.
AlexGM, приведенный Вами код - рабочий. И код takana, выводит единицу:
/ru/forum/comment/5509430
Возможно Вы привели не всю часть скрипта, т.к. ответа:
этот код выдать не может.
P.S. Для советчиков применить === - в этом случае сравнивается еще и соответствие типам, что в этом случае не нужно, т.к. изначально $a имеет тип float, а $mas_explode строковой 🚬
Конечно, привел не весь скрипт, только ту часть, где он не работал.
Вот так примерно выглядит та часть от начала и до нерабочего места скрипта (имена переменных от "балды"):
ps: в принципе я уже нашел рабочий вариант.
pps: код не изящен, конечно, но пишу как умею. Благо, что для себя, никому не продаю :)
AlexGM,
Уважаемый, читайте основы информатики.
Числа с плавающей точкой НЕЛЬЗЯ сравнивать на равенство. Только на больше или меньше!!!
Объясняется просто. Сравниваются не числа а блоки памяти.
Если Вы утверждаете, что в обеих переменных одинаковые значения, сравнивайте на равенство не числа а тексты... if ("3.33333333333" eq "3.33333333333") - для перла. В пыхе что-то типа strcmp()
AlexGM,
Уважаемый, читайте основы информатики.
Числа с плавающей точкой НЕЛЬЗЯ сравнивать на равенство. Только на больше или меньше!!!
Объясняется просто. Сравниваются не числа а блоки памяти.
Если Вы утверждаете, что в обеих переменных одинаковые значения, сравнивайте на равенство не числа а тексты... if ("3.33333333333" eq "3.33333333333") - для перла. В пыхе что-то типа strcmp()
Собственно, я так и делаю сейчас, через strcmp().
Спасибо, буду знать теперь, что нельзя так сравнивать.
Эмммм, ну и замените
на массив хэшей - быстрее и проще работать будет, нежели то, что есть сейчас.
AlexGM,
Уважаемый, читайте основы информатики.
Числа с плавающей точкой НЕЛЬЗЯ сравнивать на равенство. Только на больше или меньше!!!
Объясняется просто. Сравниваются не числа а блоки памяти.
Если Вы утверждаете, что в обеих переменных одинаковые значения, сравнивайте на равенство не числа а тексты... if ("3.33333333333" eq "3.33333333333") - для перла. В пыхе что-то типа strcmp()
ну если быть совсем точным, то можно, если они заданы именно как числа с плавающей точкой. 1.3241E+13 например
Если равна мантисса и показатель, то числа равны. В некоторых компиляторах при сравнении они приводятся к меньшему по модулю показателю например.
Но в пхп в связи с нестрогой типизацией такой жесткой структуры числа с плавающей точкой нету как таковой. Поэтому 3.333333 это не число с плавающей точкой, будь оно в кавычках или нет. Поэтому прямое сравнение пройдет только если оба значения приведены к одному типу.
т.е. например strval(3.3333333)==mas[0] или floatval(3.3333333)==floatval(mas[0]) - что кстати тоже может не сработать ибо 3.333333 это может быть как 3.3333329 так и 3.3333331 и еще бесконечно много вариантов, вписывающихся в точность float
будь оно в кавычках или нет.
в кавычках - оно текст и сравнивается как текст, т.е. побайтно...
Поэтому 3.333333 это не число с плавающей точкой
прикольно. а какое? нецелые значения в вычислительной технике имеют только два варианта представления с фиксированной или с плавающей точкой.
oatval(3.3333333)==floatval(mas[0]) - что кстати тоже может не сработать
не сработает.
Если равна мантисса и показатель, то числа равны.
с точки зрения математики - да. с точки зрения информатики - нет. И, дабы не усложнять жизнь, просто был принят постулат, если числа имеют тип real, float и т.д. - результат сравнение на равно - всегда false. В языках от MS - не предсказуем.