За последние 24 часа нас посетили 22115 программистов и 1683 робота. Сейчас ищут 1218 программистов ...

Сложение строк mysql

Тема в разделе "PHP и базы данных", создана пользователем Анастасия333, 14 июн 2014.

  1. Анастасия333

    Анастасия333 Новичок

    С нами с:
    1 май 2014
    Сообщения:
    36
    Симпатии:
    0
    Здравствуйте всем) Проблема такая, складывают строки в mysql , на старнице php. Но выводятся большие значения "14.99999987582366" после запятой, как укоротить их? Запрос такой:
    Код (Text):
    1.  $query = mysql_query("select (sum(ratingStudentResult*ratioCheckpoint))/sum(ratioCheckpoint)  FROM $tabl,$table
    2.     WHERE ($tabl.keyStudent = ".$row['keyStudents'].") and ($tabl.fkCheckpoints=$table.keyCheckpoint)  ");
    3.     $rot= mysql_result($query,0);
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Просто интересно узнать логику.
    А как называется соответствующее действие в математике?
    Просто надо понять что в итоге какую строку надо получить.
     
  3. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
  4. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.114
    Симпатии:
    1.244
    Адрес:
    там-сям
    некоторые числа не имеют точного представления в формате с плавающей запятой! с этим бесполезно бороться, надо просто их в строку форматировать как требуется.

    из mysql в php данные попадают уже как строки. выше верно подсказали майсиквельный ROUND() даст нам строку с нужным числом знаков после точки.

    если же для вычислений нужны данные как есть, и только при выводе на страницу надо им придать нужный вид, то помогут функции php
    sprintf(), number_format(), money_format()

    в php для усекновения знаков я round() НЕ посоветую. потому как php round возвращает не строку, а число — читай с начала.
     
  5. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Форматирование вывода, задача другая (((, хотя sprintf() тоже вариант.

    Девушка делит какой то рейтинг, там нет никаких финансовых вычислений. Чувствую ей просто надо получить целое число при делении может еще 2 знака т.е. округлить в большую или меньшую сторону на пр. как в примере получить хочет 15. Раз все вычисления производятся в базе логично сделать округление в базе. Но даже если сделает в пхп не думаю что произойдет что то ужасное.
    Может еще какие вычисления далее идут со значением.
    По моему зря пугаешь.