关于asp+access 小数计算的问题

一直被平均 2018-03-27 01:12:17
最近做个程序,里面涉及到大量的小数的四则运算问题,但是在计算的过程中总是出问题,比如类型不匹配,或者计算的结果不是很准确,小数点后有误差

1.access 里应该设置什么类型?单精度?双精度?小数?
2.数据库读取出来的字段,必须转换成数字类型才能计算么?(cdbl)
3.计算的结果我想四舍五入保留3位小数,如果是小于1,前面显示0,只能用Formatnumber这个函数么?

最正确的做法应该是什么?

谢谢
...全文
717 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
一直被平均 2018-05-16
  • 打赏
  • 举报
回复
请教大家,谢谢
一直被平均 2018-03-28
  • 打赏
  • 举报
回复
引用 1 楼 hookee 的回复:
1 可以用双精度。 2 一般来说,你数据库是数字类型,那么用ADO读出来就是数字,除非数据库字段是字符串,那么要用CDbl()转后计算。 有可能是字段为空,先要判断一下。 不管如何CDbl()转一下再计算比较保险。 3 VBS浮点数用IEEE754,如果精度要求很高的,可以找找专业的COM组件 4 用 Formatnumber 输出格式还是比较靠谱的方案。直接在系统设置的话,换服务器就不保险了。
谢谢回复, 最开始我就是access 用双精度,但是有的时候计算结果有误差,比如累计相加结果差了0.02左右, 后来我access改成小数,但是从数据库读取后如果不用CDbl(),就显示类型不匹配, 一般最标准的做法是什么?谢谢
hookee 2018-03-27
  • 打赏
  • 举报
回复
1 可以用双精度。 2 一般来说,你数据库是数字类型,那么用ADO读出来就是数字,除非数据库字段是字符串,那么要用CDbl()转后计算。 有可能是字段为空,先要判断一下。 不管如何CDbl()转一下再计算比较保险。 3 VBS浮点数用IEEE754,如果精度要求很高的,可以找找专业的COM组件 4 用 Formatnumber 输出格式还是比较靠谱的方案。直接在系统设置的话,换服务器就不保险了。

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧