明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 796|回复: 4

[提问] lisp 除法精度

[复制链接]
发表于 2020-8-7 10:32:37 | 显示全部楼层 |阅读模式
问题1

输入:
(/ 10 10000000)
输出
0
如何进行高精度的输出。
问题2
输入:

  • (defun c:mianji ()
  •   (setq mj 0.001)
  •   (setq pt1 (getpoint "输出点"))
  •   (command "TEXT" pt1 5 0 mj)
  •   (command "REGEN")
  • )
输出: 0.0010000000
如何消除后面的0。

发表于 2020-8-7 11:15:13 | 显示全部楼层
本帖最后由 1291500406 于 2020-8-7 11:18 编辑

(/ 10 10000000)   -> 0
(/ 10. 10000000)  ->  1.0e-006
(/ 10 10000000.)  -> 1.0e-006
(/ 10 10000000 1.) -> 1.0e-006


(defun c:bb ()
(command "DIMZIN" 8 "TEXT"  (getpoint "输出点") 5 0 (rtos 0.001)  "REGEN")
)
 楼主| 发表于 2020-8-14 09:49:53 | 显示全部楼层
1291500406 发表于 2020-8-7 11:15
(/ 10 10000000)   -> 0
(/ 10. 10000000)  ->  1.0e-006
(/ 10 10000000.)  -> 1.0e-006

非常感谢!!
发表于 2020-8-14 22:53:02 | 显示全部楼层
整数int除整数int(应该说大部分编程语言都这样)结果是整数int,这个是最最最基本的常识了,只要修改任意一个数为实数real即可。消0是变量DIMZIN控制 ,楼主应该取查阅下帮助看看DIMZIN对应的值是什么意义。
类型: 整数
保存位置: 图形
初始值: 0(英制)或 8(公制)

控制针对主单位值的消零处理。

值为 0 到 3 时仅影响英尺-英寸标注:

0
消除零英尺和零英寸

1
包含零英尺和零英寸

2
包含零英尺,消除零英寸

3
包含零英寸,消除零英尺

4
消除十进制标注中的前导零(例如,0.5000 变为 .5000)

8
消除十进制标注中的后续零(例如,12.5000 变为 12.5)

12
消除前导零和后续零(例如,0.5000 变为 .5)

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-17 22:41 , Processed in 0.181469 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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