П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 5999 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 8131 раз(а).

Учебник HTML.
Просмотров 4823 раз(а).

Руководство по PHP5.
Просмотров 1853 раз(а).

Хостинг через призму DNS.
Просмотров 6844 раз(а).

Подборка текстов стандартных документов.
Просмотров 57474 раз(а).

Учебник PHP - Самоучитель
Просмотров 5095 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 11211 раз(а).

Внешние атаки...
Просмотров 7017 раз(а).

Учебник PHP.
Просмотров 4142 раз(а).

SSI в примерах.
Просмотров 1147 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 11: Форматы.
11.4 Еще о поледержателяж
11.4.2 Числовые поля

Следующий тип поледержателя — числовое поле с фиксированной десятичной запятой, полезное для больших финансовых отчетов. Это поле также начинается со знака @; за ним следует один или более знаков # с необязательной точкой (она обозначает десятичную запятую). Опять-таки, знак @ считается одним из символов поля. Например:

format MONEY =
Assets: @#W#.*” Liabilities: @#*”##.*# Net: @t”##*.*#
$assets, $1iabilities, $assets-$1iabilities

Эти три числовых поля предусматривают шесть знаков слева от десятичной запятой и два справа (в расчете на суммы в долларах и центах). Обратите внимание на то, что в формате используется выражение — это абсолютно допустимо и встречается очень часто.

Ничего оригинального в Perl больше нет: вам не удастся установить формат с плавающей запятой для вывода значений денежных сумм, нельзя также заключить отрицательные значения или что-нибудь подобное в квадратные скобки. Для этого придется писать отдельную программу, например:

format MONEY =
Assets: @“““<“ Liabilities: @““““ Net: @““<““
&cool($assets,10), scool($1iab,9), $cool($assets-$1iab,10)

sub pretty {
  my($n,$width) = @_;
  $width -2; # учтем отрицательные числа
  $n = sprintf("%.2f",$n); # sprintf описывается в одной из следующих глав

  if ($n < 0) {
    return sprintf ("[t$width.2f]", -$n); # отрицательные числа
                                          # заключаются в квадратные скобки
  } else {
    return sprintf (" %$width.2f ", $n); # положительные числа выделяются ^пробелами 
  }
}

## body of program:
$assets = 32125.12;
$1iab = 45212.15;
write (MONEY);

Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание подраздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru