实际上,定义谓词很容易
truncate/3
在Prolog中。假设我们要截断一个实数
X
高达
N
小数位数并将其结果存储在
Result
.在中使用数学函数进行截断
this Wikipedia site
,我们可以如下定义谓词:
% truncation for positive numbers
truncate(X,N,Result):- X >= 0, Result is floor(10^N*X)/10^N, !.
% truncation for negative numbers
truncate(X,N,Result):- X <0, Result is ceil(10^N*X)/10^N, !.