Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2011, 16:09   #1
Nikirinka
Пользователь
 
Аватар для Nikirinka
 
Регистрация: 21.09.2010
Сообщений: 70
По умолчанию Как работает функция number_format?

Здравствуйте! Подскажите, пожалуйста, как работает функция number_format? Дело в том, что из-за нее программа неправильно считает конечный результат. Если сначала я применяю эту функцию для переменной $totalamount, а потом эту переменную использую для дальнейших вычислений, то следующий результат считается неправильно. Получается number_format можно применять только непосредственно перед выводом конечного результата и один раз? А если я далее хочу эту переменную использовать?
Код HTML:
$totalamount = 0.00;
$totalamount = PRICE_TIRE*$HTTP_POST_VARS["tireqty"]+
  PRICE_OIL*$HTTP_POST_VARS["oilqty"]+
  PRICE_SPARK*$HTTP_POST_VARS["sparkqty"];
$totalamount = number_format($totalamount, 2);
echo "<br>\n";
echo "Заказано наименований:  " . $totalqty . " шт.<br>\n";
echo "Итого:  " . $totalamount . " руб." . "<br>\n";
$taxrate = 0.10;
$totalamount = $totalamount * ($taxrate + 1);
$totalamount  = number_format($totalamount, 2);
echo "Итого, включая НДС: " .  $totalamount . " руб.<br>\n"; 
Заранее спасибо.
Nikirinka вне форума Ответить с цитированием
Старый 08.01.2011, 16:19   #2
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

number_format возвращает форматированную строку. Я думаю это - ответ на все ваши вопросы относительно этой функции...
KPEATuBHO вне форума Ответить с цитированием
Старый 08.01.2011, 16:30   #3
lavacco
Пользователь
 
Регистрация: 06.01.2011
Сообщений: 12
По умолчанию

как работает данная функция наглядно описано тут http://www.php.su/functions/?number_format

если ты форматируешь переменную, то она теряет числовое значение и математические операции с ней недопустимы.
http://ereality.in.ua/reg
lavacco вне форума Ответить с цитированием
Старый 08.01.2011, 16:34   #4
lavacco
Пользователь
 
Регистрация: 06.01.2011
Сообщений: 12
По умолчанию

Код:
$totalamount = 0.00;
$totalamount = PRICE_TIRE*$HTTP_POST_VARS["tireqty"]+
  PRICE_OIL*$HTTP_POST_VARS["oilqty"]+
  PRICE_SPARK*$HTTP_POST_VARS["sparkqty"];
$number1 = number_format($totalamount, 2);
echo "<br>\n";
echo "Заказано наименований:  " . $totalqty . " шт.<br>\n";
echo "Итого:  " . $number1 . " руб." . "<br>\n";
$taxrate = 0.10;
$totalamount = $totalamount * ($taxrate + 1);
$number2  = number_format($totalamount, 2);
echo "Итого, включая НДС: " .  $number2 . " руб.<br>\n";
http://ereality.in.ua/reg
lavacco вне форума Ответить с цитированием
Старый 08.01.2011, 16:50   #5
Nikirinka
Пользователь
 
Аватар для Nikirinka
 
Регистрация: 21.09.2010
Сообщений: 70
По умолчанию

lavacco, теперь все понятно, спасибо большое ))
Nikirinka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция eoln() не работает как надо Cannibal Помощь студентам 4 30.11.2010 12:58
не работает функция Benderbej JavaScript, Ajax 2 30.08.2010 18:54
функция Get Document не работает в CDialog. как получить документ в CDIalog MFCCasper Общие вопросы C/C++ 4 24.03.2010 15:06
Объясните, как работает функция strlen() TheWanderer Общие вопросы C/C++ 9 25.11.2008 22:46
Не работает функция gets()!!! Ilya'91 Общие вопросы C/C++ 1 28.07.2008 23:16