在lisp中将real转换为整数

时间:2013-06-26 14:15:09

标签: lisp type-conversion

如何在LISP中将实数转换为整数?

有原始功能吗?

示例:

3.0 => 3

2 个答案:

答案 0 :(得分:4)

有多种方式。

我将使用f而不是下面的浮点数。

如果您对下一个最高整数感兴趣,(ceiling f)会给您这个。如果您对下一个最小的整数感兴趣,(floor f)会为您提供(对于1.0之类的值,这两个函数将返回相同的整数值)。如果您希望使用最接近的整数,则可以使用(round f)来查找它。

这是我能想到的三种最简单,最便携的方式。

答案 1 :(得分:1)

其他选项是TRUNCATE。实例

> (truncate 2.2)
=> 2
   0.20000005

> (truncate 2.9)
=> 2
   0.9000001