明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8748|回复: 12

[基础] [求助]lisp有没有类似EXCEL的向上取整函数?

[复制链接]
发表于 2010-7-29 09:35 | 显示全部楼层 |阅读模式
roundup(3.2,0)
=4
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2021-1-5 14:39 | 显示全部楼层
本帖最后由 竹天 于 2021-1-5 14:40 编辑

向上取整,考虑了整数与正负数

  1. (if (= (fix n) n)
  2.         n
  3.         (if  (< (fix n) 0)
  4.                 (- (fix n) 1)
  5.                 (1+ (fix n))
  6.         )
  7. )


示例:
-3.2 ——> -4
-2 ——> -2
3.2 ——> 4
发表于 2020-12-24 09:03 | 显示全部楼层
不错的帖子,学习了。
发表于 2010-7-29 10:52 | 显示全部楼层

(1+ FIX(3.2))

发表于 2010-7-29 11:50 | 显示全部楼层

楼上的不对

应该是

(if (= (fix x) x)

  x

  (1+ (fix x))

)

发表于 2010-7-29 15:08 | 显示全部楼层
(FIX NUMBER) 

功能及参数

    此函数将返回number的整型数值, number可以是整型数也可是实型数。若为整型数, 则返回值为一整型数。number若为实型数, 则返回值将是去掉小数部分后的整型数。

此函数不会四舍五入 所以没必要用条件选择

发表于 2010-7-29 17:02 | 显示全部楼层

(fix (+ n 0.5))

发表于 2010-7-29 17:22 | 显示全部楼层
piao1887发表于2010-7-29 15:08:00(FIX NUMBER)  功能及参数     此函数将返回number的整型数值, number可以是整型数也可是实型数。若为整型数, 则返回值为一整型数。number若为实型数, 则返回值将是去掉

如果楼主的问题跟下面的意思一样:

急!!Excel中,如何将一个小数向上取整为最接近的整数?并且,源数据为整数的保持不变.

悬赏分:10 - 解决时间:2006-6-26 22:15
如:7.25取整为8,2.8取整为3,6取整为6. 

那么必然要用条件判断。所以要用if.

我猜测楼主的意思就是ROUNDUP(A1,0)或者天花板函数ceiling.而不是四舍五入

发表于 2013-8-20 16:18 | 显示全部楼层
liu_kunlun 发表于 2010-7-29 17:02
(fix (+ n 0.5))

这个写法觉得非常好,谢谢
发表于 2013-11-6 21:54 | 显示全部楼层
piao1887 发表于 2010-7-29 10:52
(1+ FIX(3.2))

如果 原数据是个整数  比如3 ,算出来不就变 4了?
我觉得还是3楼板凳说的对
发表于 2013-11-6 21:55 | 显示全部楼层
Ciger 发表于 2013-8-20 16:18
这个写法觉得非常好,谢谢

这个写法是 四舍五入的 不是向上取整的
发表于 2016-9-9 17:22 | 显示全部楼层
liu_kunlun 发表于 2010-7-29 17:02
(fix (+ n 0.5))

这个四舍五入挺好,但是负数就不行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-27 14:30 , Processed in 0.519768 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表