CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
查看: 2219|回复: 3

[开发] 请教lisp高手

[复制链接]
发表于 2008-8-20 12:07 | 显示全部楼层 |阅读模式
请教一个lisp里面计算精度的问题
* b  B$ V; Q! T5 Y( u如:& n0 B4 c" v/ g/ }" V1 ^, p- U' V
(- 4.5 1.0e-6)结果显示还是4.5,检验(= (- 4.5 1.0e-6) 4.5)结果为 nil,这就是说其实已经减去了,如何让它报出精确的结果呢?
发表于 2008-8-26 10:22 | 显示全部楼层
原帖由 yrgui 于 2008-8-20 12:07 发表
) b$ L; Z( q+ @0 P% |1 v% k请教一个lisp里面计算精度的问题; t8 |+ h9 S" X
如:
% \" V7 d* W$ Z5 a/ }' `5 R# q(- 4.5 1.0e-6)结果显示还是4.5,检验(= (- 4.5 1.0e-6) 4.5)结果为 nil,这就是说其实已经减去了,如何让它报出精确的结果呢?

* D5 L- @' w) b+ |8 u% _: g! K
# D& ^0 ~( d' x, R6 T3 H5 f
) l, L- A/ R$ N- w首先声明,只能同学相称,我算不得什么高手,也只是在学习中
8 Y! M4 [& I+ C8 ^9 g, S( k2 x% c% _6 x! y) u, L' [
看看下例,不知道满意吗?  a* r& ~$ ]: U, E: [! h
(setq a (rtos (+ 1.0 (- 4.5 (atof (rtos 1.0e-06 2 14)))) 2 14))+ Z  ~9 S' ?  N6 B6 e: b
rtos 实、整数转字串  后面的2代表以小数表示,14代表精度取14位
" s! ], i) Q6 D% P! Tatof字串转实、整数,与4.5进行差值运算
7 U% V; Z0 k. Y2 e具体的可以再查相关函数解释
 楼主| 发表于 2008-8-26 14:22 | 显示全部楼层

回复 #2 baller 的帖子

同学,多谢了
5 Y, k  b  @* ^: R+ P$ X/ F( n  见笑啊,我把题目写成这样也是没办法,这个问题我等了好几天也没人帮我解决,所以---- 9 {; v3 A+ v4 t) y! r: b
你这个做法确实可以,不过我不理解为什么系统不直接报出来,这样岂不更好,你说会不会是有什么设置可以改变这种情况呢?
发表于 2008-8-26 14:33 | 显示全部楼层
原帖由 yrgui 于 2008-8-26 14:22 发表
4 ]% T# y/ p4 C5 L同学,多谢了
+ v* C" O% P3 x7 A' u% @' K  见笑啊,我把题目写成这样也是没办法,这个问题我等了好几天也没人帮我解决,所以---- 4 W9 u8 @* s( F7 |% E# P) q4 n
你这个做法确实可以,不过我不理解为什么系统不直接报出来,这样岂不更好,你说会不会是有什么设置可 ...

2 y0 N& g1 F3 m  Y; _, ^+ L, S# B! \
默认只回显五位,我暂时也没有找到是否有变量控制开关
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2024-11-28 17:44

CAD设计论坛,为工程师增加动力。

© 2005-2024 askcad.com. All rights reserved.

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