成仔 发表于 2022-9-22 20:35:28

感谢黄大师分享程序!

llsheng_73 发表于 2022-9-23 08:42:49

本帖最后由 llsheng_73 于 2022-9-26 00:36 编辑

凑个热闹
(defun fixn(a n / b)(if(zerop(setq b(rem a n)))a(*(+(/(- a b 0.)n)(if(<(+ b b)n)0 1))n)))
(fixn 10.7 0.5)
10.5
_$ (fixn 10.3 0.5)
10.5
_$ (fixn 10.2 0.5)
10.0
_$ (fixn 9.8 0.5)
10.0
_$ (fixn 1053.5 5)
1055.0
_$ (fixn 1052 5)
1050.0
其实这个的真正用法是应该是下边这样

(mapcar'(lambda(x)(fixn x 32))'(15 33 79 124 148))
(0.0 32.0 64.0 128.0 160.0)
_$ (mapcar'(lambda(x)(fixn x 7))'(15 33 79 124 148))
(14.0 35.0 77.0 126.0 147.0)
_$ (mapcar'(lambda(x)(fixn x 13))'(15 33 79 124 148))
(13.0 39.0 78.0 130.0 143.0)
_$ (mapcar'(lambda(x)(fixn x 27))'(15 33 79 124 148))
(27.0 27.0 81.0 135.0 135.0)
更多的时候会涉及小数

(mapcar'(lambda(x)(fixn x 0.3))'(1.5 3.3 7.9 12.4 14.8))
(1.5 3.3 7.8 12.3 14.7)

(mapcar'(lambda(x)(fixn x 0.02))'(1.55 3.213 7.899 12.313 14.819))
(1.56 3.22 7.9 12.32 14.82)



张小五 发表于 2022-9-23 12:06:24

围观围观围观!!!!!

tianbeiyuan 发表于 2022-9-24 09:57:20

看看大师之大作{:1_1:}

zhangcan0515 发表于 2022-9-24 14:09:22

本帖最后由 zhangcan0515 于 2022-9-24 14:12 编辑

谢谢 黄大师,分享

1291500406 发表于 2022-9-25 14:00:37

菜卷鱼 发表于 2022-9-20 15:09
我半小时写个程序收别人5块钱别人都觉得不划算

还不如去当服务员,搬盘子半小时都有十来块钱
页: 1 2 3 [4]
查看完整版本: 数值圆整