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

Форум PHP

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

 

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

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

тема: Разный результат сравнения
 
 автор: JooZ   (25.02.2010 в 00:47)   письмо автору
 
 

Здравствуйте)
Есть функция превращения десятичного числа округленного до сотен в удобоваримое представление денег:

      function decimalToMoney($dec) {
          $rub = floor($dec);  
          $kop = ($dec-$rub)*100;  
          if ($kop < 10) $kop = "0".$kop;
          $res = $rub > 0 ? $rub." руб. " : "";
          $res .= $kop." коп.";
          return $res;
      }


кто-нибудь может объяснить, почему decimalToMoney(100.1) возвращает 100 руб. 010 коп., а decimalToMoney(1.1) возвращает 1 руб. 10 коп. ?

  Ответить  
 
 автор: Trianon   (25.02.2010 в 01:11)   письмо автору
 
   для: JooZ   (25.02.2010 в 00:47)
 

потому что копейки (перед условным оператором) вычисляются с погрешностью.

  Ответить  
Rambler's Top100
вверх

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