LSP中如何设定计算的结果的精度
比如说,(setq var (/ 1 3))我希望精确到小数点后10位 本帖最后由 llsheng_73 于 2013-3-30 02:07 编辑(/ 1 3)它只能得整数0
(setq var (atof(rtos(/ 1 3.0)2 10)))
但是这很头痛
因为(setq var (atof(rtos(/ 1 3.0)2 10)))
0.333333
_$ (setq var (rtos(/ 1 3.0)2 10))
"0.3333333333"
_$ (vl-princ-to-string(setq var (atof(rtos(/ 1 3.0)2 10))))
"0.333333"
$ (-(setq var (atof(rtos(/ 1 3.0)2 10)))0.333333)
3.333e-007
units单位那看有没有小数点后十位, LUPREC变量 (/ 1.0 3.0) 正常情况下ACAD内部浮点数的精度有效位数是16位,只是数据显示的问题。 ZZXXQQ 发表于 2013-3-30 10:09 static/image/common/back.gif
正常情况下ACAD内部浮点数的精度有效位数是16位,只是数据显示的问题。
我实际上是在写一个正则表达式的东西,堆栈使用字串存储,结果过几次就精度丢失了。 试试将变量dimzin临时设置为0,程序结束时恢复为系统原来的设定值。
页:
[1]