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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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