请问delphi5里面的6为什么比59大?(22分)

  • 主题发起人 主题发起人 23233323
  • 开始时间 开始时间
2

23233323

Unregistered / Unconfirmed
GUEST, unregistred user!
我在我的用存储过程返回一个值,然后和text框 的另一个值做比较
可是为什么我的6比59大啊?
请教~~~~!
语句是用>判断的
if (rdbtextArea.text>Area) then begin.........
Area为返回的值
我没有分了,就这些,帮帮忙了
 
字串的话当然6比59大嘛。
转成整形数就正常了。
 
字符串的比较就用CompareStr,comparetext,sametext之类的...
 
字符串比较是从左到右逐个字符比较,如果一个位置的字符相等,就继续比较下一个字符。
因为 '6' 比 '5' 大,所以不再继续比较,结果 '6' > '59'。同样可知,'1000' < '2'。
 
之本框中的text字符串一般不用来比大小的,字符串比较是从左到右逐个字符比较,我一般是用strtoint(trim(text1.text1))这种方式的
 
文本就是这样比,06 < 59
 
if (strtoint(rdbtextArea.text)>strtoint(Area)) then begin.........
 
用字符串比较当然了.
 
数据类型为decimal型的,是字符的么?
if (strtoint(trim(rdbtextArea.text>Area))) then begin.........
可以么?
 
转成整形就对了
 
怎么改的能帮小弟写出来么?
谢谢各位了~!
 
if (strtoint(rdbtextArea.text)>strtoint(Area)) then begin.........
 
数值类型比较6<59 字符类型6>59 和delphi 版本没关系阿
 
strtoint函数
 
但是我的数据库里面的是decimal浮点类型的
用了上面的语句if (strtoint(trim(rdbtextArea.text>Area))) then begin.........
但是说我在text里面输入的数字不是有效的值
 
if (strtofloat(rdbtextArea.text)>strtofloat(Area)) then begin.........
 
好的,谢谢你啊,你的是正确的
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
927
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部