asp中decimal类型数据类型错误 - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
Jan 12

asp中decimal类型数据类型错误 不指定

tommyhu , 08:09 , ASP , Comments(1) , Trackbacks(0) , Reads(10732) , Via Original Large | Medium | Small
decimal  类型,在ASP中直接使用出现数据类型错误,但在.net中正常
Quotation

Microsoft VBScript 运行时错误 错误 '800a000d'
类型不匹配: 'decimal'

baifenbi=num/rs4("sum")*100-decimal()0.03
baifenbi=Math.Round(baifenbi,1)  '四舍五入

改写成如下正常

baifenbi=cint(dpnum)/cint(rs4("sum"))*100-cint(0.03)
baifenbi=Formatnumber(baifenbi,1)

考虑到asp.net中的decimal类型在ASP中对应的是cint
具体数据类型介绍:

decimal 数据类型 (JScript)
decimal 类型存储为一个 12 字节的整数部分、一个 1 位的符号和一个刻度因子。
decimal 类型可以精确地表示非常大或非常精确的小数。大至 1028(正或负)以及有效位数多达 28 位的数字可以作为 decimal 类型存储而不失其精确性。该类型对于必须避免舍入错误的应用程序(如记账)很有用。
相应的 .NET Framework 数据类型为 Decimal。decimal 数据类型的属性和方法与 Decimal 属性和方法相同。
http://msdn.microsoft.com/zh-cn/library/ft52za15(VS.80).aspx

CInt 函数
返回表达式,此表达式已被转换为 Integer 子类型的 Variant。
CInt(expression)
expression 参数是任意有效的表达式。
说明
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度或双精度运算的情况下,使用 CInt 或 CLng 强制执行整数运算。
CInt 函数用于进行从其他数据类型到 Integer 子类型的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。
如果 expression 在 Integer 子类型可接受的范围之外,则发生错误。
下面的示例利用 CInt 函数把值转换为 Integer:
Dim MyDouble, MyInt
MyDouble = 2345.5678      ' MyDouble 是 Double。
MyInt = CInt(MyDouble)    ' MyInt 包含 2346。
注意  CInt 不同于 Fix 和 Int 函数删除数值的小数部分,而是采用四舍五入的方式。 当小数部分正好等于 0.5 时, CInt 总是将其四舍五入成最接近该数的偶数。例如, 0.5 四舍五入为 0, 以及 1.5 四舍五入为 2.
http://doc.51windows.net/vbscript/?url=/vbscript/html/vsfctcint.htm
▲返回顶部
Last modified by tommyhu on2010/01/12 08:16

互联网开发网友 Email Homepage
2010/01/12 10:45
纯技术~~~
tommyhu replied on 2010/01/12 12:50
分享
Pages: 1/1 First page 1 Final page
Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot