Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:为什么输出的结果不一样?

1楼
YUNSEL 发表于:2024/9/13 13:24:00
Output.Show(4.5 * 7.1323)   输出结果是:32.09535
Output.Show(round2(32.09535, 4))    输出结果是:32.0954
Output.Show(round2(4.5 * 7.1323, 4))   输出结果是:32.0953

第二行与第三行写法为何输出结果不一样?
2楼
有点蓝 发表于:2024/9/13 13:31:00
我也不懂。不过如果对结果准确度要求高的,建议还是使用变量的方式

Dim d As Decimal = 4.5 * 7.1323
Output.Show(d)
Output.Show(round2(d, 4))

3楼
puma 发表于:2024/9/13 14:09:00
7.1323 在内存里,是一个近似的数?
4楼
有点蓝 发表于:2024/9/13 14:14:00
计算内部的原理不清楚,也许是精度的问题,类似:http://www.foxtable.com/webhelp/topics/1829.htm
5楼
YUNSEL 发表于:2024/9/13 15:26:00
我试了,要这样处理:
dim s1 as Decimal = 4.5
dim s2 as Decimal = 7.1323
Output.Show(round2(s1* s2, 4))   输出结果是:32.0954
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04297 s, 2 queries.