明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1447|回复: 13

[提问] 如何判断小数点无条件进位

[复制链接]
发表于 2022-3-16 15:02:36 来自手机 | 显示全部楼层 |阅读模式
比如现在有一个0.1257或是0.6254让其在小数点第三进位,变成0.126和0.626,搞了半天不知道什么思路判断无条件进位,求求大神们给个思路,谢谢

点评

(defun abc (n)(rtos(+ n 0.0005)2 3))  发表于 2022-3-16 16:40
发表于 2022-3-17 09:32:28 | 显示全部楼层
夏生生 发表于 2022-3-16 16:27
不好意思,看错了
(defun tt (real n / a)(setq a (* real (expt 10. n)))(if (= a (setq a (fix a)))(ato ...

朋友  小数点位数多了 好像就不对了
回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-17 09:37:49 | 显示全部楼层
我这个代码最高可以到小数位16位   17位以后不对头,针对大数据的就不对头了 哪位朋友帮改下
;(setq n 0.13578282352462346721)
;测试(jw n 16)      
;变量n实数 w小数位数
(defun jw(n w / j)
(setq j(expt 10. w))
(rtos(/(fix(1+(* n j)))(float j))2 w)
)

点评

双精度浮点数了解一下  发表于 2022-3-17 10:50
回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-17 11:19:56 | 显示全部楼层
guosheyang 发表于 2022-3-17 09:32
朋友  小数点位数多了 好像就不对了

针对一般情况,特殊情况用string
回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-17 10:46:59 | 显示全部楼层
guosheyang 发表于 2022-3-17 09:37
我这个代码最高可以到小数位16位   17位以后不对头,针对大数据的就不对头了 哪位朋友帮改下
;(setq n 0.1 ...

百度一下什么双精度浮点数之后再来提问,想要超过双精度,可以自己定义数值类型结构及算法,方法类似于我发的

回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-17 13:08:29 | 显示全部楼层
(defun abc (num n / a)
  (setq a (* (eval (read (strcat "1e-" (itoa (1+ n))))) 5))
  (rtos (+ num a) 2 n)
)
回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-16 16:15:30 | 显示全部楼层
(defun xty-tr-rounded (real n)
  (if (= n 0)
    (atoi (rtos real 2 0))
    (atof (rtos real 2 n))
  )
)

点评

没必要用if,实数转为整数,很容易出问题,比如(xty-tr-rounded 2200000000.5 0)  发表于 2022-3-16 16:20
发表于 2022-3-16 16:27:01 | 显示全部楼层
不好意思,看错了
(defun tt (real n / a)(setq a (* real (expt 10. n)))(if (= a (setq a (fix a)))(atof (rtos real 2 n))(atof (rtos (* (1+ a) (expt 10. (- n))) 2 n))))
发表于 2022-3-16 16:40:00 | 显示全部楼层
(defun abc (n)(rtos(+ n 0.0005)2 3))
发表于 2022-3-17 11:49:04 | 显示全部楼层
tryhi 发表于 2022-3-17 10:46
百度一下什么双精度浮点数之后再来提问,想要超过双精度,可以自己定义数值类型结构及算法,方法类似于我 ...

知道是超范围了,搜索大数据 竟然没搜到大神你的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 01:42 , Processed in 0.263525 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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