如何在 LISP 中将实数转换为整数?
有什么原始功能吗?
例子:
3.0 => 3
有多种方法。
我将在f
下面使用而不是浮点数。
如果您对下一个最高整数感兴趣,请(ceiling f)
给您。如果您对下一个最小整数感兴趣,(floor f)
给您(对于像1.0
,这两个函数将返回相同的整数值)。如果您更喜欢使用最接近的整数,可以使用(round f)
来找到它。
这是我能想到的三种最简单、最便携的方式。
其他选项是 TRUNCATE。例子
> (truncate 2.2)
=> 2
0.20000005
> (truncate 2.9)
=> 2
0.9000001