注册 登录
编程论坛 ASP技术论坛

如何计算变量的值???

ysf0181 发布于 2010-05-08 17:25, 654 次点击
<%dim a b

a=request("a")
b=request("b")

c=a + b

response.write c
%>
我提交,例如 a=3.258971, b=0.2545454
计算结果不是相加,而成了,两个字符串相加。

在用 Cdbl(string)有时不正确的。

请问,数字中,单 双精度值 他们的区别?网上没找到具体的。

5 回复
#2
yms1232010-05-09 15:17
单,双精度浮点型在于小数点后面保留的位数不一样。
#3
ysf01812010-05-09 22:30
     没人知道具体点吗?
#4
gupiao1752010-05-10 10:08
<%dim a
  dim b
 a=3.258971
 b=0.2545454
c=cdbl(a)+ cdbl(b)
response.write c
'我提交,例如 a=3.258971, b=0.2545454
%>
直接代入计算结果很精确,你怎么会变成2个字符相连了呢?不可能啊!
你把request("a")转换一下:
a=cdbl(request("a"))
b=cdbl(request("b"))
试试!
#5
ysf01812010-05-10 19:49
单精度 和  双精度,,,怎么区分。。。。。。。。。。
#6
gupiao1752010-05-10 21:16
   在不同语言里,对其有效范围的理解是有区别的,ASP使用里头,很少有人去区别这2者!VB里的区别请参考百度上!
   但是这2个概念都开始于C语言,在C语言中,单精度数据类型比如int,数据的范围是2的31次方,单精度浮点 数占据32位二进制,1位为符号位,0代表正数,1代表负数,8位指数位,即指数可以达到10进制数据的2的8次方,尾数23位,即尾数可以达到2的23 次方。而双精度类型的整型比如long int的数据范围是2的63次方,双精度浮点数占据64位二进制,1位为符号位,11位指数位,52位尾数位
   所以双精度和单精度主要的区别在于数据的范围大小.一般双精度可表示的范围大于单精度!
 如果你要深究其概念,可以参考:http://www.,详细讲解了这2个的区别!
1