社区
VB基础类
帖子详情
求可靠、稳定四舍五入函数
zero16
2003-09-16 02:29:38
求可靠、稳定四舍五入函数
试过几个都不太好
Fix((dblValue + 0.5 / (10 ^ (iDigits + 0))) * (10 ^ iDigits)) / (10 ^ iDigits)
大家给个函数!谢了!!
...全文
147
23
打赏
收藏
求可靠、稳定四舍五入函数
求可靠、稳定四舍五入函数 试过几个都不太好 Fix((dblValue + 0.5 / (10 ^ (iDigits + 0))) * (10 ^ iDigits)) / (10 ^ iDigits) 大家给个函数!谢了!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mingtian2008
2003-11-27
打赏
举报
回复
up
shisanjin
2003-11-27
打赏
举报
回复
int(i+0.5)
haisuifeng
2003-11-27
打赏
举报
回复
fuxc(Michael(闭关修炼ing))
看看 这个
round(cdec(0.045),2)=0.04
round 的用法
如果小数点后第2为偶数 第3位5 则 不进
怎么解决这个问题
juror
2003-11-27
打赏
举报
回复
up
海牛
2003-11-27
打赏
举报
回复
学习ing
qibo2002
2003-11-27
打赏
举报
回复
cint 不行啊
cint(2.5) = 2
fuxc
2003-09-23
打赏
举报
回复
能够在10进制下除尽的分数,在2进制下不一定能够除尽,
fuxc
2003-09-23
打赏
举报
回复
翻旧贴发现错误~~~~~~
能够被10除尽的数,不一定能够被2除尽,
改为
能够被在10进制下除尽的数,在2进制下不一定能够除尽,
xiaohei728
2003-09-21
打赏
举报
回复
没想到小问题中有大学问
今天又学了一招谢谢
fuxc
2003-09-21
打赏
举报
回复
vb四舍五入不准确的问题,以前专门有贴子讨论过,不过CSDN好像把老贴都去掉了??
所谓“四舍六入五留双”的提法是错误的,
四舍五入不准确,是因为二进制浮点数跟十进制数之间的误差造成的,微软知识库里面专门对此问题有说明。
对于整数,二进制跟十进制是可以一一对应换算的,
但对于分数,二进制数是不能跟十进制数一一对应的,
因为能够被10除尽的数,不一定能够被2除尽,
这样就造成有些十进制小数转换浮点数时出现误差,
如果喜欢在Sql Server里面使用float,real数据类型的,肯定经常会观察到这样的情况。
四舍五入的误差,也是这样造成的。
其实这个问题不光在vb里面有,就算是汇编也有,intel还专门出过声明,说明这是正常结果,而不是cpu错误。
虽然微软知识库里面推荐用format来解决这一问题,
但个人认为,还是用cdec转换数据类型以后再round为正解。
原因:
dec就是十进制,vb6未提供十进制数据类型,提供cdec函数就是为了处理这样的情况。
毕竟format函数不是专门为四舍五入做的,就象上面ch21st(风尘鸟)提供的情况,xp可能就无效(本认未验证)
OrangeSeaCoast
2003-09-20
打赏
举报
回复
用CINT或CLNG就可以了
doudou8090
2003-09-20
打赏
举报
回复
加0.5 然后INT就可以了
strongfisher
2003-09-18
打赏
举报
回复
用format函数吧
zero16
2003-09-18
打赏
举报
回复
用Cint取整后是四舍五入
如:
cint(1.5)返回 2
int(1.5) 返回 1
道素
2003-09-16
打赏
举报
回复
如果不是winxp系统,最简单的办法VB已经提供了,FORMAT(123456.789,"###,###.##")函数,这可是真的四舍五入,而不是四舍六入五留双啊!但是发现在WINXP中FORMAT函数达不到预期的效果了,装了SP也不见效
NotReady
2003-09-16
打赏
举报
回复
你用CLNG或者CINT试试看
viena
2003-09-16
打赏
举报
回复
INT只能得到整数,如果要保留小数呢?
lwm1977
2003-09-16
打赏
举报
回复
Round()
yijiansong
2003-09-16
打赏
举报
回复
数字加0.5 然后INT就可以了
sindyzhou
2003-09-16
打赏
举报
回复
format(i,"#,##0")
带千分位的四舍五入
加载更多回复(3)
Python开发者必学:如何优雅地绕过round
函数
的
四舍五入
陷阱
总之,在Python 中通常能按预期工作,但如果你遇到了看似不正确的结果,很可能是因为浮点数的表示误差或
四舍五入
规则造成的。通过了解这些限制并采取相应的解决方案,你可以有效地处理这些问题。
C++:实现
四舍五入
(附带源码)
C++:实现
四舍五入
(附带源码)
C语言实现
四舍五入
(附带源码)
C语言实现
四舍五入
(附带源码)
为什么你的财务计算总出错?真相竟是BigDecimal舍入模式用错了!
掌握正确使用BigDecimal divide的舍入模式,避免财务计算精度丢失。详解金融场景下RoundingMode的应用与常见误区,确保计算结果准确
可靠
。方法实用,值得收藏。
4.5 PostgreSQL内置
函数
与自定义
函数
4.5 PostgreSQL内置
函数
与自定义
函数
4.5.1
函数
的基本概念4.5.1.1 什么是
函数
4.5.1.2
函数
的作用和优势4.5.2 内置
函数
4.5.2.1 系统内置
函数
的分类4.5.2.2 数值处理
函数
4.5.2.3 字符串处理
函数
4.5.2.4 日期和时间处理
函数
4.5.3 创建自定义
函数
4.5.3.1 使用 PL/pgSQL 创建
函数
4.5.3.2 定义
函数
的参数和返回类型4.5.3.3 编写
函数
体4.5.4 自定义
函数
的高级特性4.5.4.1
函数
的权限和所有权。
VB基础类
7,789
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章