为什么StrToInt('X5')在Delphi中返回5?

时间:2009-05-19 16:31:41

标签: delphi

为什么StrToInt('X5')在Delphi中返回5? X是一些科学记数法还是类似的东西?还有其他一些字符也将被转换为整数吗?

4 个答案:

答案 0 :(得分:11)

不知道Delphi,我打赌“X”会导致函数假设值是十六进制的。从0x5 == 5,它似乎工作。试试X10,看看你是否回来了16。

答案 1 :(得分:11)

在Delphi中,十六进制值标有$ prefix:

a := $10;  // => a = 16

但由于在其他一些语言(例如C)中X用于标记十六进制值,因此StrToInt函数同时支持$和X前缀,因此以下两个代码都返回16:

a := StrToInt('x10'); // => a = 16

a := StrToInt('$10'); // => a = 16

答案 2 :(得分:1)

这是十六进制表示法。试试XF看它返回15。

答案 3 :(得分:0)

可能是hexadecimal符号。

X表示后面的数字是十六进制(0-9 + A-F)。