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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Руководство пользователя для GNU Awk

15. Библиотека функций awk

15.4 Округление чисел

Способ округления в printf и sprintf (см. раздел 6.5 [Употребление операторов printf для декоративной печати], стр. 64) часто зависит от подпрограммы sprintf системы Си. На многих машинах sprintf округляет "unbiased " ("беспристрастно"), что означает, что округление при отбрасывании .5' не всегда происходит с избытком, в противоположность наивному ожиданию. При беспристрастном округлении `.5' округляется до четного, а не всегда с избытком, так что 1.5 округляется до 2, а 4.5 до 4. В результате если вы пользуетесь форматом без округления (например, "%.0f"), вы должны проверять, что делает ваша система. Следующая функция округляет традиционно; она может оказаться полезной, если ваша awk printf округляет беспристрастно.


# round --- делать нормальное округление
# # Arnold Robbins, arnold@gnu.org, August, 1996
# Public Domain
function round(x, ival, aval, fraction) -
ival = int(x) # целая часть, int() усекает
# проверка наличия дробной части
if (ival == x) # нет дробной части
return x
if (x ! 0) -
aval = -x # абсолютное значение ival = int(aval) дробное = aval - ival
if (fraction ?= .5) return int(x) - 1 # -2.5 --? -3
else return int(x) # -2.3 --? -2 ""
else - fraction = x - ival if (fraction ?= .5)
return ival + 1 else
return ival "" ""
# для проверки - print $0, round($0) ""

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



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





Copyright © 2005-2016 Project.Net.Ru