Delphi使用技巧(60分)

  • 主题发起人 主题发起人 boda.w
  • 开始时间 开始时间
B

boda.w

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个问题,可能很简单,但我寻求最好的答案
1,实形数据怎样才能转换成整形数据.我原来是这样实现的:
strtoint(floattostr(int(x)))
2,有一数据库字段为字符形,宽度8,数据为98.01.02,我怎样才能最简便的
实现按日期范围查询数据.
 
1、可以用截尾 Trunc(X)
或者舍入函数 Round(X)
将实型变为整型。而无必要大费周章。

2、不懂。:)
 
var
I : integer ;
begin
I:= int(123.456); {123}
I:= Trunc(123.56); {124}
end;
 
1、是否是四舍五入?
如果是:不用round()有问题!
Integer(float type+0.5)
否:integer(float type)或Trunc(float type)
2、使用Sql
select *
form table1
where between :formtime and :totime
:formtime和:totime是字符变量。
你必须保证输入正确!如:98.01.02
 
再想想2,用三个整型变量D1,D2,D3,设这个原串为XYZ
D1 := StrToInt(Copy(XYZ,0,2));
D2 := StrToInt(Copy(XYZ,3,2));
D3 := StrToInt(Copy(XYZ,6,2));
然后再依次作为比较的标准不就行了么?
 
都够快的了!
 
对不起, 搞错一个东西, Int函数返回的是实型的整数部分, 结果
仍然为实型.
 
为什么不用ROUND()?
四舍五入不是挺方便吗?
[我没用过这些个。]
 
看来大家对新问题都特别留意,
为那么一点分拼命。
:DDD
 
round函数对奇数,偶数反映不一样!
如:12.5,13.5.delphi 4.0 5.37
inprise 的bug!
 
2.同意delphi fan2的意见,可通过BDE Administrator的Configuration
的System的Format的Date更改日期的表达方式。
 
delphi fan2 ==>
round函数对奇数,偶数反映不一样!
如:12.5,13.5.delphi 4.0 5.37
inprise 的bug!

并不是bug,当个位是偶数时.5不进位。
 
看来Round不符合国情!
 
1 Trunc(X) or Round(X) or 参见已答问题 OR 自己写 ;)
2 为什么不把日期性的数据FORMATDATETIME了再查?
 
真抱歉前几天一致不能联上网,今天好不容易联上,赶快答复
第一个问题3H最快.
第二个问题我接受delfhi FAN2的答案;
请斑竹平均给分
 
真抱歉前几天一致不能联上网,今天好不容易联上,赶快答复
第一个问题3H最快.
第二个问题我接受delfhi FAN2的答案;
请斑竹平均给分
 
多人接受答案了。
 
后退
顶部