我用formatnumber精确到两位算出的结果为什么不准?

hhyhappy 2005-07-09 03:14:08
我写的公式是: yjsr=formatnumber(fs*rs5("yjbl")*0.1,2)

比如说fs=829,rs5("yjbl")=7,那么按照我想要的应该是yjsr=580.3,可是实际算出来确是580.08

谁能指点一下?

...全文
210 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhyhappy 2005-07-13
  • 打赏
  • 举报
回复
楼上的,像你这样的我试过,一点问题没有,可是保存到数据表里面就变了
Camelot 2005-07-13
  • 打赏
  • 举报
回复
你在写入数据库前先单独输出各个值看看,如这样:Response.Write((fs & " * " & rs5("yjbl") & " * 0.1 = " & fs * rs5("yjbl") * 0.1) & "<br>FormatNumber(" & fs & " * " & rs5("yjbl") & " * 0.1, 2) = " & FormatNumber(fs * rs5("yjbl") * 0.1, 2))
hhyhappy 2005-07-13
  • 打赏
  • 举报
回复
请问各位在设置数据表的时候,小数的都设置成什么类型呢?
QCB181 2005-07-13
  • 打赏
  • 举报
回复
数据库的字段类型设置错了吧
hhyhappy 2005-07-13
  • 打赏
  • 举报
回复
to net_lover(孟子E章) 这样是没有问题,可是保存到数据表里面就出现了上述的问题,我用的access数据库,数据表中的yjsr和yzsr都用的单精度型
孟子E章 2005-07-13
  • 打赏
  • 举报
回复
<script language=vbscript>
alert formatnumber(829*7*0.1,2)
</script>

<%
Response.Write formatnumber(829*7*0.1,2)
%>

没有问题啊。
IT_Fish 2005-07-13
  • 打赏
  • 举报
回复
可能是你的字段格式不对,设置成“小数”看看
hhyhappy 2005-07-13
  • 打赏
  • 举报
回复
这种情况我感觉可能是数据表中的字段类型设置不对造成的,在页面上输出结果没错误,可是保存到表里面就有错误了
sjjf 2005-07-13
  • 打赏
  • 举报
回复
如果有的话,再研究吧,我现在这个机器上刚好没有 access
:(
sjjf 2005-07-13
  • 打赏
  • 举报
回复
如果存在该问题它应该是两种环境种的数字的精度转化末位取舍的规则不一样吧。

你确定 直接把 580.30 和 580.3 (两个值都写死)存入表也出现这样的问题吗?

hhyhappy 2005-07-09
  • 打赏
  • 举报
回复
小数为数选的“自动”
hhyhappy 2005-07-09
  • 打赏
  • 举报
回复
就这一句,我用上面的公式把结果算出来保存到数据表中,数据库是access的,数据类型为单精度
wesheng 2005-07-09
  • 打赏
  • 举报
回复
不会吧.你把整个源码贴出来

28,406

社区成员

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

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