За последние 24 часа нас посетили 53489 программистов и 1493 робота. Сейчас ищут 1267 программистов ...

округляется число после деления

Тема в разделе "PHP для новичков", создана пользователем zahermaher, 20 янв 2015.

  1. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    Здравствуйте. вопрос наверно идиотский ,но не могу разобраться.

    Делю две переменные так:

    $с=$a/$b;

    В числовом виде ,это почему то так :

    6 / 1,09 = 6

    А мне надо чтобы было ,так:

    6 : 1,09 = 5,504 (как по калькулятору в общем)

    Помогите . Спасибо
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    float тут не при чём. Там просто погрешность. Скорее всего тут, элементарное не знание основ. Но и про float надо знать, иначе однажды можно очень сильно удивится.
    Код (PHP):
    1. //можно записать так и результат будет 6
    2. $a = '6';
    3. $b = '1,09';
    4. $c=$a/$b;
    5. echo $c;
    6. //а можно  так и результат будет 5.504......
    7. $a = '6';
    8. $b = '1.09';
    9. $c=$a/$b;
    10. echo $c;
    11. //а можно  так и будет ошибка
    12. $a = 6;
    13. $b = 1,09;
    14. $c=$a/$b;
    15. echo $c;
    16. //ну а правильно вот так
    17. $a = 6;
    18. $b = 1.09;
    19. $c=$a/$b;
    20. echo $c;
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    калькулятор работает с числами в другом внутреннем представлении. поэтому у него другая точность.
    к тому же, если хочешь видеть определенное число знаков после запятой, нельзя полагаться просто на echo. есть вывод по формату: printf/sprintf или number_format.

    Добавлено спустя 5 минут 3 секунды:
    и, конечно, в коде программы вещественные числа пишутся с точкой, а не с запятой )))
    запятая может пояиться при преобразовании числа в строку в некоторых локалях.
     
  5. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    спасибо большое всем) не часто приходилось делать деление в php ,поэтому совсем забыл что точки и запятые так влияют на результат вычисления.