野猫III 发表于 2006-7-22 19:50:33

原帖由 快雪时晴 于 2006-7-21 21:53 发表
VB的更简单

+++++++++++++
    If a < 0 Then a = 65536 + a
    v = v + CStr ...

一句话,绝!

52946-12590=-65536

对了,咱想问一下,这个CStr是不是表示间隙呀?

CStr         String       依据 expression 参数返回 Cstr.

++++++++++++++++++++

语法
----
CBool(expression)

CByte(expression)

CCur(expression)

CDate(expression)

CDbl(expression)

CDec(expression)

CInt(expression)

CLng(expression)

CSng(expression)

CVar(expression)

CStr(expression)

必要的 expression 参数可以是任何字符串表达式或数值表达式.

返回类型

函数名称决定返回类型,如下所示:

函数         返回类型   expression 参数范围
CBool      Boolean      任何有效的字符串或数值表达式.
CByte      Byte         0 至 255.
CCur         Currency   -922,337,203,685,477.5808 至922,337,203,685,477.5807.
CDate      Date         任何有效的日期表达式.
CDbl         Double       负数从 -1.79769313486232E308 至 -4.94065645841247E-324;                                                 正数从 4.94065645841247E-324 至 1.79769313486232E308.
CDec         Decimal      零变比数值,即无小数位数值,为
                        +/-79,228,162,514,264,337,593,543,950,335.对于 28 位小数的数值,范围则为
                        +/-7.9228162514264337593543950335;
                        最小的可能非零值是 0.0000000000000000000000000001.
CInt         nteger       -32,768 至 32,767,小数部分四舍五入.
CLng         Long         -2,147,483,648 至 2,147,483,647,小数部分四舍五入.
CSng         Single       负数为 -3.402823E38 至 -1.401298E-45;正数为 1.401298E-45 至 3.402823E38.
CStr         String       依据 expression 参数返回 Cstr.
CVar         Variant      若为数值,则范围与 Double 相同;若不为数值,则范围与 String 相同.


说明
----
如果传递给函数的 expression 超过转换目标数据类型的范围,将发生错误.

通常,在编码时可以使用数据类型转换函数,来体现某些操作的结果应该表示为特定的数据类型,而不是缺省的数据类型.例如,当单精度、双精度或整数运算发生的情况下,使用 CCur 来强制执行货币运算.

应该使用数据类型转换函数来代替 Val,以使国际版的数据转换可以从一种数据类型转换为另一种.例如,当使用 Ccur 时,不同的小数点分隔符、千分位分隔符和各种货币选项,依据系统的国别设置都会被妥善识别.

当小数部分恰好为 0.5 时,Cint 和 CLng 函数会将它转换为最接近的偶数值.例如,0.5 转换为 0、1.5 转换为 2.Cint 和 CLng 函数不同于 Fix 和 Int 函数,Fix 和 Int 函数会将小数部分截断而不是四舍五入.并且 Fix 和 Int 函数总是返回与传入的数据类型相同的值.

使用 IsDate 函数,可判断 date 是否可以被转换为日期或时间.Cdate 可用来识别日期文字和时间文字,以及落入可接受的日期范围内的数值.当转换一个数字成为日期时,是将整数部分转换为日期,小数部分转换为从午夜起算的时间.

CDate 依据系统上的国别设置来决定日期的格式.如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序.另外,长日期格式,若包含有星期的字符串,也不能被识别.

CVDate 函数也提供对早期 Visual Basic 版本的兼容性.CVDate 函数的语法与 CDate 函数是完全相同的,不过,CVDate 是返回一个 Variant,它的子类型是 Date,而不是实际的 Date 类型.因为现在已有真正的 Date 类型,所以 CVDate 也不再需要了.转换一个表达式成为 Date,再赋值给一个 Variant,也可以达到同样的效果.也可以使用这种技巧将其他真正的数据类型转换为对等的 Variant 子类型.

注意 CDec 函数不能返回独立的数据类型,而总是返回一个 Variant,它的值已经被转换为 Decimal 子类型.

[ 本帖最后由 野猫III 于 2006-7-22 19:56 编辑 ]
页: 1 [2]
查看完整版本: 请教个VB程序从16进制转到10进制的问题~