Здравствуйте всем) Проблема такая, складывают строки в mysql , на старнице php. Но выводятся большие значения "14.99999987582366" после запятой, как укоротить их? Запрос такой: Код (Text): $query = mysql_query("select (sum(ratingStudentResult*ratioCheckpoint))/sum(ratioCheckpoint) FROM $tabl,$table WHERE ($tabl.keyStudent = ".$row['keyStudents'].") and ($tabl.fkCheckpoints=$table.keyCheckpoint) "); $rot= mysql_result($query,0);
Просто интересно узнать логику. А как называется соответствующее действие в математике? Просто надо понять что в итоге какую строку надо получить.
некоторые числа не имеют точного представления в формате с плавающей запятой! с этим бесполезно бороться, надо просто их в строку форматировать как требуется. из mysql в php данные попадают уже как строки. выше верно подсказали майсиквельный ROUND() даст нам строку с нужным числом знаков после точки. если же для вычислений нужны данные как есть, и только при выводе на страницу надо им придать нужный вид, то помогут функции php sprintf(), number_format(), money_format() в php для усекновения знаков я round() НЕ посоветую. потому как php round возвращает не строку, а число — читай с начала.
Форматирование вывода, задача другая (((, хотя sprintf() тоже вариант. Девушка делит какой то рейтинг, там нет никаких финансовых вычислений. Чувствую ей просто надо получить целое число при делении может еще 2 знака т.е. округлить в большую или меньшую сторону на пр. как в примере получить хочет 15. Раз все вычисления производятся в базе логично сделать округление в базе. Но даже если сделает в пхп не думаю что произойдет что то ужасное. Может еще какие вычисления далее идут со значением. По моему зря пугаешь.