为什么StrToInt('X5')在Delphi中返回5? X是一些科学记数法还是类似的东西?还有其他一些字符也将被转换为整数吗?
答案 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)。