孤独客 发表于 2005-2-26 23:29:00

请教高手

请教高手;多段线从数据库中提取得顶点坐标的小数位数怎么和实际显示在图上的不一样呢


怎么才能使一样呢

ZZXXQQ 发表于 2005-2-27 01:07:00

楼主去看一下《离散数学》中的误差分析就知道怎么一回事了。


这是计算机中二进制小数无法完全表示十进制的小数的结果。

meflying 发表于 2005-2-27 09:49:00

不是误差问题,如果在14位小数以内,都是精确的,只是显示问题(或者程序在往图上写的时候没有完全保留小数位数)


至于要怎么才能一样,要看你的程序了,否则无法告诉你,只能告诉你他们本来就是一样的

孤独客 发表于 2005-2-27 19:37:00

一条多段线我用ENTLASE,ENTGET取得数据库然后取得坐标值A,


然后我用GETPOINT从图上取得坐标值B,我想判断A=B,但有时相等有时不等,各位高手我该怎么办呢

ljpnb 发表于 2005-2-27 19:43:00

回4楼的问题,这种情况我也经常碰到,一般我是这样处理的。在判断A和B是否相等时,采用如下格式:<br>
(equal A B 0.0001) 而不是(= A B )<br>

孤独客 发表于 2005-2-27 19:44:00

我的小数是三位,但我从数据库中取出来数据一会儿是三位一会儿是一位或两位,但我看他总是保留六位数(包括整数部分)这是怎么回事啊

ljpnb 发表于 2005-2-28 08:17:00

孤独客发表于2005-2-27 19:44:00static/image/common/back.gif我的小数是三位,但我从数据库中取出来数据一会儿是三位一会儿是一位或两位,但我看他总是保留六位数(包括整数部分)这是怎么回事啊

<BR>你贴出取数据的那段程序。。。。。

孤独客 发表于 2005-3-1 18:40:00

画线程序略(setq ww1 (entget(entlast)))(setq a 0 )(while ww1(setq qq1 (assoc 10 ww1))(if(= a 0)(setq b "w")(setq b "a"))(setq pt5 (open "c:\\jihua\\li.txt" b))(setq q1 (cdr qq1))(princ q1 pt5)(princ "\n" pt5)(setq a (+ a 1))(setq ww1 (member qq1 ww1))(setq ww1 (cdr ww1))(close pt5))

meflying 发表于 2005-3-1 18:55:00

将(princ q1 pt5)改为(princ (rtos q1 2 14) pt5)

孤独客 发表于 2005-3-2 17:49:00

谢谢


我怎样改变CAD左下角的坐标显示小数位数
页: [1] 2
查看完整版本: 请教高手