DelphiÖÐÈ¡Õûº¯ÊýRoundµÄBug½â¾ö
DelphiÖÐ Roundº¯ÊýÓиöBug
Ò»µ©²ÎÊýÊÇÐÎÈç XXX.5ÕâÑùµÄÊýʱ
Èç¹û XXX ÊÇÆæÊý ÄÇô¾Í»á Round up
Èç¹û XXX ÊÇżÊý ÄÇô¾Í»á Round down
ÀýÈç Round(17.5)=18
µ«ÊÇ Round(12.5)=12
ÏÂÃæµÄº¯Êý¼´¿É¾ÀÕýÕâ¸ö Bug µ«ÊÇÊÇÁÙʱÐÔµÄ
Ö´ÐÐ DoRound(12.5) ½á¹ûΪ 13 ÕýÈ·
function DoRound(Value: Extended): Int64;
procedure Set8087CW(NewCW: Word);
asm
MOV Default8087CW,AX
FNCLEX
FLDCW Default8087CW
end;
const
RoundUpCW = $1B32;
var
OldCW : Word;
begin
OldCW := Default8087CW;
try
Set8087CW(RoundUpCW);
Result := Round(Value);
finally
Set8087CW(OldCW);
end;
end;
Ïà¹ØÎĵµ£º
¶ÔÏó¿Õ¼ä
ÄÚ´æ½á¹¹
¶ÔÏóµÄÄÚ´æ½á¹¹Êǹ̶¨µÄ£¬¶ÔÏó´´½¨Íê³Éºó¾ÍÎÞ·¨¸Ä±ä¡£ËüÖ÷Òª´æ´¢Á˶ÔÏóÖ±ÊôÀàµÄµØÖ·£¨µÈ¼ÛÓÚÀàµÄVMT£©£¬¶ÔÏó±¾ÉíµÄ³ÉÔ±Êý¾Ý£¬¶ÔÏóµÄ½Ó¿Ú·½·¨±íµØÖ·¡£½á¹¹ÈçͼËùʾ£º
˵Ã÷£ºÈôÀàδÉùÃ÷½Ó¿Ú£¬Ôò¶ÔÏó¿Õ¼ä²»´æ´¢½Ó¿Ú·½·¨±íµØÖ·¡£
Àà¿Õ¼äÓë¶ÔÏó¿Õ¼äµÄ¹ØÏµ
Àà¿Õ¼äÓë¶ÔÏó¿Õ¼ä£º
ʾÀý£º·ÖÎö¶ÔÏóµÄ» ......
*ÀàµÄ¹«¿ªÊôÐÔ£¨´úÂ룩
ʾÀý£º·ÃÎÊÀàµÄpublishedÊôÐÔ
˵Ã÷£ºvmtFieldTable£¨Published Field±í£©Ö¸ÏòPublished Field±íÓÐÐòÅÅÁУ¬Ö»´æ´¢µ±Ç°ÀàµÄPublishedField±í£¬µÃµ½¸¸ÀàµÄPublished Field±íÐèÒªÍùÉϱéÀú¡£
×¢Ò⣺ֻÓÐÀàÐÍÊÇÀà»ò½Ó¿ÚµÄÊý¾Ý³ÉÔ±²Å¿É¶¨ÒåΪpublishedµÄ·ÃÎʼ¶±ð
´úÂ룺
type
TMyO ......
ÔÚÌÖÂÛÕâ¸ö»°Ìâ֮ǰ£¬±ØÐëҪ˵Ã÷µÄÊÇ£¬Èç¹ûÄã¸Õѧϰdelphi£¬Ç벻Ҫģ·Â£¬ÒòΪ̸²»ÉÏתÐÍ£»Èç¹ûÄãÓÃdelphiÒѾ³Éϰ¹ß£¬²¢ÇÒÊìϤhtmlÓïÑÔ¡¢ÓÐBS½á¹¹»ù´¡¡¢¶ÔJAVAÓ﷨ûÓÐÕϰ£¨Èç¹ûÄã¿´²»¶®¼òµ¥µÄ»ù´¡JAVA´úÂ룬½¨ÒéÄ㻹ÊǼÌÐøÄãµÄd°É£©£¬Ï£ÍûÕâ¶ÎÄÚÈݶÔÄãÓÐËù°ïÖú£¬´Ë»°Ìâ²»ÌÖÂÛ¾ßÌå¼¼Êõ£¬Ö»ËµËµÎÒµÄѧϰ²½ÖèºÍÐĵá£
1¡¢ ² ......
delphi TStringList Ó÷¨Ïê½â
//TStringList ³£Ó÷½·¨ÓëÊôÐÔ
:
var
List: TStringList;
i: Integer;
begin
List := TStringList.Create;
List.Add('Strings1'); {Ìí¼Ó}
List.Add('Strings2');
List.Exch ......
procedure TfrmMain.FormCreate(Sender: TObject); //Ö÷´°ÌåFormCreateʼþ
var FWidth:integer;
begin
if (screen.Width <> 1024) then //¼ÙÉèÄãÉè¼Æ³ÌÐòʱµÄ·Ö±æÂÊΪ1024
begin
FWidth:=width;
scaled:=true;
& ......