求助:asp中小数计算的精度

jakieliu 2004-10-26 10:54:28
response.Write("耿4F有功="&rsfirst("耿4F有功")&":org="&rsfirst1("耿4F有功")&"<br>")
tmpa=rsfirst("耿4F有功")
tmpb=rsfirst1("耿4F有功")
'tmpa=14538.42
'tmpb=14530.08
response.Write(tmpa-tmpb)
数据库中:
rsfirst("耿4F有功")=14538.42
rsfirst1("耿4F有功")=14530.08
计算结果为:11.56055,本应该是11.56,误差太大。
当将tmpa和tmpb直接赋值,结果为:8.34000000000015,误差还可以忍受。
为什么去表中的值就不对?
帮我想个解决的办法吧,谢谢!
在线等待!
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jakieliu 2004-10-26
  • 打赏
  • 举报
回复
将就好使。谢了。
阿_浩 2004-10-26
  • 打赏
  • 举报
回复
FormatNumber 函数
返回表达式,此表达式已被格式化为数值。

FormatNumber(
expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]]
)

Expression

必选项。要被格式化的表达式。

NumDigitsAfterDecimal

可选项。指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。

IncludeLeadingDigit

可选项。三态常数,指示是否显示小数值小数点前面的零。有关数值,请参阅“设置”部分。

UseParensForNegativeNumbers

可选项。三态常数,指示是否将负值置于括号中。有关数值,请参阅“设置”部分。

GroupDigits

可选项。三态常数,指示是否使用计算机区域设置中指定的数字分组符号将数字分组。

TristateTrue -1 True
TristateFalse 0 False
TristateUseDefault -2 使用计算机区域设置中的设置。

micher_yan 2004-10-26
  • 打赏
  • 举报
回复
用这个试试,FormatNumber(num,2)限定2位小数

28,391

社区成员

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

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