原帖由 yrgui 于 2008-8-20 12:07 发表 
0 Y, z& W! ?; K2 S请教一个lisp里面计算精度的问题7 f3 I' K9 g( I
如:+ d1 ~. n0 s: v2 T2 m6 ^/ }
(- 4.5 1.0e-6)结果显示还是4.5,检验(= (- 4.5 1.0e-6) 4.5)结果为 nil,这就是说其实已经减去了,如何让它报出精确的结果呢?
7 U. P4 w7 W9 v, C u3 H& m2 \: F3 E2 ^4 j# U
/ J4 W8 |2 K& _ y+ w
首先声明,只能同学相称,我算不得什么高手,也只是在学习中2 m& t9 {* B8 u
4 x9 X: B3 F& G3 u h
看看下例,不知道满意吗?
6 ^ o& m6 O# {( }5 J(setq a (rtos (+ 1.0 (- 4.5 (atof (rtos 1.0e-06 2 14)))) 2 14))
+ F9 X: [) _0 t2 b% Vrtos 实、整数转字串 后面的2代表以小数表示,14代表精度取14位
% ]# ~/ J7 E2 k6 I, }/ Datof字串转实、整数,与4.5进行差值运算( b v+ A0 \0 s9 ]/ T9 h s
具体的可以再查相关函数解释 |