3

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

有什么原始功能吗?

例子:

3.0 => 3

4

2 回答 2

6

有多种方法。

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

如果您对下一个最高整数感兴趣,请(ceiling f)给您。如果您对下一个最小整数感兴趣,(floor f)给您(对于像1.0,这两个函数将返回相同的整数值)。如果您更喜欢使用最接近的整数,可以使用(round f)来找到它。

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

于 2013-06-26T14:21:28.683 回答
1

其他选项是 TRUNCATE。例子

> (truncate 2.2)
=> 2
   0.20000005

> (truncate 2.9)
=> 2
   0.9000001
于 2017-12-06T15:16:42.830 回答