新手求问
本帖最后由 蛋蛋蛋蛋 于 2013-9-24 13:59 编辑小的刚入lisp。很多不是很会。今天做一个习题被难住了。
要求是:输入一个数,四舍五入小数点后两位。
我做了如下编写
(defun C:ABC()
(setq a (getreal "请输入一个数"))
(setq b (* a 100))
(if (>= b 0)(fix (+ b 0.5))
(fix (- b 0.5)))
(setq c (/ b 100))
(print c)
(princ)
)
但是,比如说输入1.5433
出来的还是1.5433
求大神指教。 参考http://bbs.mjtd.com/thread-107567-1-1.html 自贡黄明儒 发表于 2013-9-24 13:44 static/image/common/back.gif
参考http://bbs.mjtd.com/thread-107567-1-1.html
完全看不懂 T^T 。。。。。 (defun HH:rtosr1 (RealNum n / DIMZIN1 SHORTREAL1)
(setq DimZin1 (getvar "DIMZIN"))
(setvar "DIMZIN" 0)
(setq ShortReal1 (rtos RealNum 2 n))
(setvar "DIMZIN" DimZin1)
ShortReal1
)
;;要求是:输入一个数,四舍五入小数点后两位。
(defun C:ABC (/ A)
(setq a (getreal "\n 请输入一个数"))
(read (HH:rtosr1 a 2))
) (defun C:ABC (/ A)
(setq a (getreal "\n 请输入一个数:"))
(setq a (* a 100))
(setq a (fix a))
(/ a 100)
)
页:
[1]