明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8626|回复: 8

[函数] 保留小数位数(四舍五入)

  [复制链接]
发表于 2013-9-12 10:00 | 显示全部楼层 |阅读模式
本帖最后由 自贡黄明儒 于 2013-10-29 08:20 编辑

;;162.1 [功能] 数值后续零清除
;|值为 0 到 3 时仅影响英尺-英寸标注:
DIMZIN
0 消除零英尺和零英寸
1 包含零英尺和零英寸
2 包含零英尺,消除零英寸
3 包含零英寸,消除零英尺
4 消除十进制标注中的前导零(例如,0.5000 变为 .5000)
8 消除十进制标注中的后续零(例如,12.5000 变为 12.5)
12 消除前导零和后续零(例如,0.5000 变为 .5)
|;
;;示例(HH:rtosr 2.500);"2.5"
(defun HH:rtosr (RealNum / DIMZIN1 SHORTREAL1)
  (setq DimZin1 (getvar "DIMZIN"))
  (setvar "DIMZIN" 8)
  (setq ShortReal1 (rtos RealNum 2 8))
  (setvar "DIMZIN" DimZin1)
  ShortReal1
)

;;162.2 [功能] 保留小数位数(四舍五入)
;|(rtos 数 mode 小数位数)
mode
1  Scientific
2  Decimal
3  Engineering (feet and decimal inches)
4  Architectural (feet and fractional inches)
5  Fractional
|;
;;示例1 保留一位小数,四舍五入(HH:rtosr1 2.555 1);"2.6"
;;示例2 取整数,四舍五入(read(HH:rtosr1 215.46 0)),返回215
;;示例3 十位数,四舍五入(* (read(HH:rtosr1 (/ 215.46 10) 0)) 10),返回220
;;示例4 保留一位小数,四舍五入(read(HH:rtosr1 215.46 1)),返回215.5
(defun HH:rtosr1 (RealNum n / DIMZIN1 SHORTREAL1)
  (setq DimZin1 (getvar "DIMZIN"))
  (setvar "DIMZIN" 0)
  (setq ShortReal1 (rtos RealNum 2 n))
  (setvar "DIMZIN" DimZin1)
  ShortReal1
)

评分

参与人数 1明经币 +1 收起 理由
Gu_xl + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-9-16 19:49 | 显示全部楼层
看来大家都会了。
发表于 2013-9-16 23:16 | 显示全部楼层
第二个函数中,设置DimZin变量有什么意义呢? 看官方帮助是: 0 消除零英尺和零英寸。新手还是一头雾水,能否解释一下?
发表于 2013-9-18 00:16 | 显示全部楼层
不错的函数,收藏。
发表于 2015-10-24 16:03 | 显示全部楼层
发表于 2016-5-14 10:20 | 显示全部楼层
非常感谢  这个代码很有用
发表于 2018-5-4 15:01 | 显示全部楼层
收藏  学习
发表于 2019-8-16 13:44 | 显示全部楼层
有用 感谢了
发表于 2023-11-14 15:57 | 显示全部楼层
本帖最后由 zjsru_18_505 于 2023-11-14 16:12 编辑


_$ (HH:RTOSR1 9.415 2)
"9.41"
_$ (HH:RTOSR1 8.415 2)
"8.41"
_$ (HH:RTOSR1 7.415 2)
"7.42"
_$ (HH:RTOSR1 6.415 2)
"6.42"

结果不对。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 21:31 , Processed in 0.269153 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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