Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Уровнять/обрезать цифровой ответ
 
 автор: Shestak   (06.07.2006 в 19:16)   письмо автору
 
 

Добрый день, вопрос состоит в следующем:
с помощью вот этого когад
foreach($pockets as $line){
$day[$line[2]]=array('n'=>$line[4], 'ras'=>$line[8]);
$week[$line[2]]=array('n'=>($line[3]-$line[6]), 'ras'=>$line[8]);
$month[$line[2]]=array('n'=>($line[3]-$line[7]), 'ras'=>$line[8]);
}
берем с удаленной таблицы цифры за день/неделю и месяц. За день собираеттся всего один столбик, точнее цифра из столбика, а вот при вычисление за неделю и месяц, иногда получаются ответы в виде - 0.00222222 и тому подобно. Как сделать так, что бы пхп обрезал до десятичных?

   
 
 автор: cheops   (06.07.2006 в 21:12)   письмо автору
 
   для: Shestak   (06.07.2006 в 19:16)
 

Это можно сделать при помощи следующего кода
<?php
  $number 
0.00222222;
  echo 
sprintf("%02.1f",$number);
?>

   
 
 автор: Shestak   (06.07.2006 в 21:19)   письмо автору
 
   для: cheops   (06.07.2006 в 21:12)
 

Это применимо не только для 0.02222?
Просто иногда бывает выдает и 0.00111 и 1.04444 и 3.49999 и 8.6000000000004
И вот что еще я заметил, на одном хостинге нормально выдает ответ, а на другом именно так точно. Из-за чего это может быть?

   
 
 автор: hell_riser   (06.07.2006 в 21:21)   письмо автору
 
   для: cheops   (06.07.2006 в 21:12)
 


<?php 
  $number 
0.00222222;
// Округляет до десятичных дробей соответственно в большую или меньшую сторону. 
  
$num round($number2); 
?> 

   
 
 автор: Shestak   (06.07.2006 в 21:42)   письмо автору
 
   для: hell_riser   (06.07.2006 в 21:21)
 

Сначала поставил у себя вот так:

    $day[$line[2]]=array('n'=>$line[4], 'ras'=>$line[8]);
    $week[$line[2]]=array('n'=>round($line[3]-$line[6],), 'ras'=>$line[8]);
    $month[$line[2]]=array('n'=>round($line[3]-$line[7],), 'ras'=>$line[8]);

И он как округлил до целого числа :)
А потом поставил вот так:

    $day[$line[2]]=array('n'=>$line[4], 'ras'=>$line[8]);
    $week[$line[2]]=array('n'=>round($line[3]-$line[6], 2), 'ras'=>$line[8]);
    $month[$line[2]]=array('n'=>round($line[3]-$line[7], 2), 'ras'=>$line[8]);

И уже округлилось так, как надо, тоесть до десятичной дроби.
П.С.: Спасибо за подсказку.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования