|Web Учебник | Самоучитель по HTML |Самоучитель по CSS | Самоучитель по PHP + MySql |Основы PhotoShop |Контакты. |

Форматирование числового значения в PHP.

Вернемся к файлу shop_result.php и еще раз обратим внимание на то что в некоторых случаях результаты деления получаются шокирующими, т.е. если общую сумму разделить на рассрочку, например при покупке 1 телевизора в рассрочку на 6 месяцев ежемесячный платеж составляет $71.333333333333, наша задача привести в человеческий вид данную цифру, а проще говоря отформатировать до нужного результата.

У инструкции печати print() есть модификация, т.е. форматирующая инструкция печати printf(), работает она следующим образом:
printf ("%01.2f", $peremeny);
1)инструкция получает 2 аргумента шаблон("%01.2f") и переменную($peremeny) разделенные между собой запятой;
2)шаблон помещается в двойные кавычки;
3)Оба аргумента инструкции printf() обязательно помещаются в фигурные скобки, в противном случае выдает синтаксическую ошибку.

Разберем шаблон, шаблон состоит из 2 частей разделенных точкой:
1) %01 левая часть говорит что при форматировании у числа должно быть минимум один знак слева от точки;
2) 2f количество символов справа от точки. В моем примере 2F, значит 2 символа после точки, но может быть 3,4 или больше.

Перепишем файл shop_result.php
скрипт обработки формы заказа
Мы строку 23 разбили на 3 для того чтобы отформатировать переменную $rasrochka. В таком варианте кода справа от точки будет 2 знака, т.е. $71.33

У инструкции printf есть аналог sprintf, синтаксис у обеих можно сказать одинаков, за исключением того что printf форматирует и сразу выводит на экран, а sprintf форматирует и результат форматирования передает в значение какой либо переменной, т.е.
$peremeny2 = sprintf ("%01.2f", $peremeny);

Еще раз отредактируем файл shop_result.php
инструкция sprintf в действии

Инструкции printf и sprintf не округляют значения, а только отрезают лишние символы. Как действительно округлить вы узнаете через страницу.

 

                   Перейти к выбору следующей страницы
 

Добавить в закладки
Добиться абсолютной межбраузерности для механизма добавления в закладки не существует ни на каких языках!!! А для браузера "Chrome" не работают вообще ни какие механизмы!!!
Потому это лучше всего делать в ручную при помощи одновременого нажатия клавиш Ctrl и D , после чего нужно нажать готово(добавить). Такой "механизм работает всегда и везде!!!