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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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




Глава 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