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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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




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