Переменные аргументы ширины и точности в функции printf - C++ и PHP
В C++ есть форматный спецификатор "*
"
(п. 8.6), он применяется, когда следующий аргумент из списка аргументов функции printf
должен задавать ширину поля или количество знаков в дробной части при выводе вещественного числа. Простейший пример на C++ мог бы быть таким:
#include <stdio.h> void main () { float f=1.5; int w=5,d=2; printf ("\n%*.*f",w,d,f); }
Здесь значение переменной f
печатается в 5 позиций с 2 знаками после запятой, но суть дела в том, что эти "5" и "2" задаются переменными, а не константами, а значит, могут быть скорректированы самой программой.
То же самое легко сделать и на PHP, хотя "звёздочки" в формате там нет, вот код:
<pre> <?php $f=1.5;$w=5;$d=2; printf ("\n%{$w}.{$d}f",$f); ?> </pre>
Применение понятно - везде, где нужно выводить таблицы чисел с форматом, задаваемым настройками, а не статически.
09.12.2011, 21:41 [10057 просмотров]