找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2135|回复: 15

[研讨] [功能] 数字圆整(round 数 最后数字倍数 小数位数)

[复制链接]

已领礼包: 604个

财富等级: 财运亨通

发表于 2013-10-28 10:17:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
[功能] 数字圆整(round 数 最后数字倍数 小数位数)
;;当在看尺子的时候,为了方便尾数最好是0或者5
;;圆整个位数为5或0, (round 311.67 5 0);返回310.0
;;圆整十位数为5或0, (* (round (/ 311.67 10) 5 0) 10);返回300.0
;;圆整尾数为5或0,保留小数1位,(round 311.67 5 1),返回311.5
(defun round (number w n / NUM)
  (setq num (fix (+ (/ (* number (expt 10 n)) w) 0.5)))
  (/ (* num w) (expt 10.0 n))
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-10-28 10:43:36 | 显示全部楼层
支持黄工多出新思想新程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-10-28 11:00:12 | 显示全部楼层
很好的函数,支持你通过函数发布发表下吧。

点评

明经和本论坛还是很不同的,我在明经上随便发表什么,好象都可以。  详情 回复 发表于 2013-10-29 09:03
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-10-28 11:52:03 | 显示全部楼层
有用的函数
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2013-10-28 17:55:26 | 显示全部楼层

四舍五入才是常用的。

点评

(round 311.67 1 0)四舍五入,取整数  发表于 2013-10-28 22:44
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2013-10-28 23:06:59 | 显示全部楼层
四舍五入如果我要写,我会写成
(round 33.33 0.1) ==>33.3
(round 55.55555 0.001)==>55.556
(round 127  1) ==>130
(round 33333 100) ==>33300

点评

AEO给写个函数上来吧。  详情 回复 发表于 2013-10-28 23:23
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-28 23:09:22 | 显示全部楼层
四舍五入在统计的时候可能产生较大误差
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2013-10-28 23:14:45 | 显示全部楼层
而且没有考虑 负值
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-10-28 23:23:24 | 显示全部楼层
aeo 发表于 2013-10-28 23:06
四舍五入如果我要写,我会写成
(round 33.33 0.1) ==>33.3
(round 55.55555 0.001)==>55.556

AEO给写个函数上来吧。

点评

aeo
其实没意思,零时写就可以命令: (rtos(Aeo-round -0.333888 0.001)2 6) "-0.334000" 命令: (rtos(Aeo-round 555.5555 0.01)2 6) "555.560000" 命令: (rtos(Aeo-round 0.39898 0.001)2 6) "0.399000" 命令: (rt  详情 回复 发表于 2013-10-29 00:28
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2013-10-29 00:28:04 | 显示全部楼层
XDSoft 发表于 2013-10-28 23:23
AEO给写个函数上来吧。

  1. ;;取整
  2. (defun Aeo-fix(n)
  3.   (if(< n 0)(fix(- n 0.5))(fix(+ n 0.5)))
  4. )
其实没意思,零时写就可以

  1. ;;n  要四舍五入的数  d  10的整数次方
  2. (defun Aeo-round(n d)
  3.   (* d(Aeo-fix(/ n d)))
  4. )
命令: (rtos(Aeo-round -0.333888 0.001)2 6)
"-0.334000"
命令: (rtos(Aeo-round 555.5555 0.01)2 6)
"555.560000"
命令: (rtos(Aeo-round 0.39898 0.001)2 6)
"0.399000"
命令: (rtos(Aeo-round 555.5555 100)2 6)
"600.000000"
命令: (rtos(Aeo-round 555.5555 10)2 6)
"560.000000"

  1. ;;n  要四舍五入的数  d  要取的位数,负值就是小数
  2. (defun Aeo-round1(n d)
  3.   (* (expt 10.0 d)(Aeo-fix(/ n (expt 10.0 d))))
  4. )
命令: (rtos(Aeo-round1 -0.333888 -3)2 6)
"-0.334000"
命令: (rtos(Aeo-round1 555.5555 2)2 6)
"600.000000"
命令: (rtos(Aeo-round1 555.5555 -2)2 6)
"555.560000"


点评

你的真简洁 关于四舍五入,这是我原来写的,发表在明经上,因为考虑到本论坛高手,没有发表  详情 回复 发表于 2013-10-29 08:10
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2013-10-29 08:10:44 | 显示全部楼层
本帖最后由 /db_自贡黄明儒_ 于 2013-10-29 08:12 编辑
aeo 发表于 2013-10-29 00:28
其实没意思,零时写就可以命令: (rtos(Aeo-round -0.333888 0.001)2 6)
"-0.334000"
命令: (rtos(Aeo-r ...


你的真简洁
关于四舍五入,这是我原来写的,发表在明经上,因为考虑到本论坛高手太多,免招笑话,没有发表

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

点评

不要有这种想法啊,你说的本论坛高手多这个我同意,但是这里的朋友都同时很热心的,以后有好东西就发上来和大家分享吧,共同提高。  详情 回复 发表于 2013-10-29 08:48
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-10-29 08:48:15 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2013-10-29 08:10
你的真简洁
关于四舍五入,这是我原来写的,发表在明经上,因为考虑到本论坛高手太多,免招笑话,没有 ...

不要有这种想法啊,你说的本论坛高手多这个我同意,但是这里的朋友都同时很热心的,以后有好东西就发上来和大家分享吧,共同提高。

点评

有压力!!  发表于 2013-10-29 08:51
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2013-10-29 09:03:25 | 显示全部楼层
newer 发表于 2013-10-28 11:00
很好的函数,支持你通过函数发布发表下吧。

明经和本论坛还是很不同的,我在明经上随便发表什么,好象都可以。

点评

这里有什么限制吗  详情 回复 发表于 2013-10-29 09:23
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-10-29 09:23:36 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2013-10-29 09:03
明经和本论坛还是很不同的,我在明经上随便发表什么,好象都可以。

这里有什么限制吗{:soso_e132:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-3-28 17:50 , Processed in 0.346883 second(s), 55 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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