bigint类型的变量 ,在delphi中用inttohex函数出错 ,怎么解决? rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 变量太大了 程序到那就down了 能不能把BIGINT转换成其他类型 再进行操作 DELPHI的INT变量范围是多少?SQL的是这个:bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。 那个数是比int的范围上线 大 属于bigint inttohex不好用啊 我觉得不是SQL的问题,建议到delphi版问问能更快捕捉到结果。 http://www.programfan.com/club/showpost.asp?id=6352 是想把这个大数 转成 hex delphi的inttohex函数支持int64位的16进制转换。所以,INTTOHEX和BIGINT都没问题。所以楼主要先看下报错信息,可能是别的地方的问题。 b:=1234567890;a:=inttohex(b); IntToHex函数有两个参数,第一个是要转换的十进制数,第二个是返回十六进制数的最小长度。 1.HexToBin() 十六进制转换二进制所在单元:ClassesDelphi语法:function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer描述:调用HexToBin函数转换十六进制字符串到相应的二进制值。Text是一个表示十六进制值的字符串。Buffer返回转换后的二进制结果值。BufferSize表示Buffer的大小。Text需要指向至少2*BufSize的十六进制字符,因为每两个十六进制字符表现为一个字节。HexToBin返回在Buffer中因为Text没有包含有效的十六进制字符('0'..'f')而还没有被用的字符数量.注意:十六进制数必须使用小写字符;HexToBind不能识别大写字符。2.BinToHex() 二进制转换十六进制 所在单元:ClassesDelphi语法:procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);描述:调用BinToHex转换buffer中的二进制值为它所表示的十六进制字符串Buffer是一个字节的缓冲区,其中包含二进制值Text返回一个以null为结束字符的字符串,表示Buffer作为十六进制数的值BufSize表示Buffer的大小。Text需要指向一系列字符,这些字符至少有2*BufSize大小字节。3.IntToHex()将整型数转换为十六进制数所在单元:SysUtilsDelphi语法:function IntToHex(Value: Integer; Digits: Integer): string; overload;function IntToHex(Value: Int64; Digits: Integer): string; overload;描述:IntToHex转换一个数字为这个数字十六进制表示的字符串。Value是要转换的数字。参数Digits指定字符最小宽度,最小宽度不足时将用0填充。4.StrToInt()字符串转换成整型数所在单元:SysUtilsDelphi语法:function StrToInt(const S: string): Integer;描述:返回字符串S转换成整数,字符串非整数表达时将引起异常,十六进制字符串转换为整型数要求在字符串前面添加$即可。 http://hi.baidu.com/83925com/blog/item/a199bd1f3a716d0c304e15f2.html去这里看看吧 如何查询某一字段值后根据该值去查表 NVARCHAR类型转换为DATETIME类型的问题 急!在线等,请高手帮忙!列前缀 'Company' 与查询中使用表名或别名不匹配。 sqlserver多用户名独自登录和多个同名用户登录,那个效率高? 又来了, 又是SQL语句, 求教!!! 字段类型为Text,怎样去除里面的硬回车!(急急急急急) SQL错误5180:由于文件ID 0 select top n 问题 急!!!请指教! 看看这个问题怎么办! 如何获取SQL安装路径 怎么通过sql得到表字段的说明内容
SQL的是这个:
bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
所以,INTTOHEX和BIGINT都没问题。
所以楼主要先看下报错信息,可能是别的地方的问题。
a:=inttohex(b);
IntToHex函数有两个参数,第一个是要转换的十进制数,第二个是返回十六进制数的最小长度。
所在单元:Classes
Delphi语法:function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer
描述:
调用HexToBin函数转换十六进制字符串到相应的二进制值。
Text是一个表示十六进制值的字符串。
Buffer返回转换后的二进制结果值。
BufferSize表示Buffer的大小。Text需要指向至少2*BufSize的十六进制字符,因为每两个十六进制字符表现为一个字节。
HexToBin返回在Buffer中因为Text没有包含有效的十六进制字符('0'..'f')而还没有被用的字符数量.
注意:十六进制数必须使用小写字符;HexToBind不能识别大写字符。2.BinToHex() 二进制转换十六进制
所在单元:Classes
Delphi语法:procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);
描述:
调用BinToHex转换buffer中的二进制值为它所表示的十六进制字符串
Buffer是一个字节的缓冲区,其中包含二进制值
Text返回一个以null为结束字符的字符串,表示Buffer作为十六进制数的值
BufSize表示Buffer的大小。Text需要指向一系列字符,这些字符至少有2*BufSize大小字节。3.IntToHex()将整型数转换为十六进制数
所在单元:SysUtils
Delphi语法:
function IntToHex(Value: Integer; Digits: Integer): string; overload;
function IntToHex(Value: Int64; Digits: Integer): string; overload;
描述:
IntToHex转换一个数字为这个数字十六进制表示的字符串。Value是要转换的数字。参数Digits指定字符最小宽度,最小宽度不足时将用0填充。4.StrToInt()字符串转换成整型数
所在单元:SysUtils
Delphi语法:function StrToInt(const S: string): Integer;
描述:
返回字符串S转换成整数,字符串非整数表达时将引起异常,十六进制字符串转换为整型数要求在字符串前面添加$即可。
去这里看看吧