原帖由 yrgui 于 2008-8-20 12:07 发表 
' m2 k. `1 o0 A" Y7 o- s% l3 \请教一个lisp里面计算精度的问题% ~- R D0 o0 V7 Q; R" }# L
如:; p. O# N7 W+ \
(- 4.5 1.0e-6)结果显示还是4.5,检验(= (- 4.5 1.0e-6) 4.5)结果为 nil,这就是说其实已经减去了,如何让它报出精确的结果呢? $ L& M# v6 w) K0 J N" l' r. }6 [
+ v2 X3 g0 X& _5 j7 D) k. @( I8 o4 T0 q' Q5 `
首先声明,只能同学相称,我算不得什么高手,也只是在学习中) y' z; K' a; J/ b
$ N+ J* ?; z# \0 z
看看下例,不知道满意吗?2 [& n- O& I7 B$ h. H0 Y7 W
(setq a (rtos (+ 1.0 (- 4.5 (atof (rtos 1.0e-06 2 14)))) 2 14))
G# |- Q- \2 I, ^+ {( krtos 实、整数转字串 后面的2代表以小数表示,14代表精度取14位/ m6 u, v- I( c# C7 P; M
atof字串转实、整数,与4.5进行差值运算( C+ j: `/ c$ K& E; N
具体的可以再查相关函数解释 |