Spec-Zone.ru › Elisp

Числовые преобразования

Для преобразования целого числа в число с плавающей точкой используйте функцию float.

Функция: float число

Это возвращает число, преобразованное в число с плавающей точкой. Если число уже является числом с плавающей точкой, float возвращает его без изменений.

Существует четыре функции для преобразования чисел с плавающей точкой в целые числа; они различаются тем, как они округляют. Все принимают аргумент число и необязательный аргумент делитель. Оба аргумента могут быть целыми или числами с плавающей точкой. делитель также может быть nil. Если делитель nil или опущен, эти функции преобразуют число в целое число или возвращают его без изменений, если оно уже является целым числом. Если делитель не nil, они делят число на делитель и преобразуют результат в целое число. Если делитель равен нулю (будь то целое или число с плавающей точкой), Emacs сигнализирует об ошибке arith-error.

Функция: truncate число &optional делитель

Это возвращает число, преобразованное в целое число путем округления к нулю.

(truncate 1.2)
     ⇒ 1
(truncate 1.7)
     ⇒ 1
(truncate -1.2)
     ⇒ -1
(truncate -1.7)
     ⇒ -1
Функция: floor число &optional делитель

Это возвращает число, преобразованное в целое число путем округления вниз (к отрицательной бесконечности).

Если делитель указан, это использует тип операции деления, который соответствует mod, округляя вниз.

(floor 1.2)
     ⇒ 1
(floor 1.7)
     ⇒ 1
(floor -1.2)
     ⇒ -2
(floor -1.7)
     ⇒ -2
(floor 5.99 3)
     ⇒ 1
Функция: ceiling число &optional делитель

Это возвращает число, преобразованное в целое число путем округления вверх (к положительной бесконечности).

(ceiling 1.2)
     ⇒ 2
(ceiling 1.7)
     ⇒ 2
(ceiling -1.2)
     ⇒ -1
(ceiling -1.7)
     ⇒ -1
Функция: round число &optional делитель

Это возвращает число, преобразованное в целое число путем округления к ближайшему целому числу. Округление значения, равноудаленного от двух целых чисел, возвращает четное целое число.

(round 1.2)
     ⇒ 1
(round 1.7)
     ⇒ 2
(round -1.2)
     ⇒ -1
(round -1.7)
     ⇒ -2

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Numeric-Conversions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API