delphi的str()函数跟inttostr()函数的效率问题

大家用delphi编程的时候,遇到需要把整数转为字符串,一般都是用inttostr函数,但是,其实还有另外一个方法的,就是用str函数,格式是str(整数,输出字符串)。看看下面的例子:

var
sss:string;
str(123,sss);
//sss := IntToStr(123);
showmessage(sss);
上面输出的结果都是123。但是考虑到速度问题,找出最合适我们使用的那个,我们需要用他们的转换速度来决定!我把上面的改了下:

newTIMER := time();
for I := 0 to 10000000 - 1 do
str(i,sss);
// sss := IntToStr(i);
guoji := round(abs(time - newTIMER) * 24 * 60 * 60 * 1000);
ShowMessage(‘使用 ’ + inttostr(guoji) + ’ 毫秒’);

经过测试,使用str函数来转换,需要时间为1156毫秒,而使用inttostr函数来转换,需要时间为1093毫秒。呵呵,结果是inttostr函数比较快点。

有朋友问我,“本来普遍都是用inttostr函数的啦,你干嘛非要钻牛角尖用str函数啊?”,其实,我觉得我做这个测试,无非就是要实践一下,因为经过实践,才能明白其中的道理的。通过我这篇文章,大家也能从中得到一点经验。

你可能感兴趣的:(Delphi)