Преобразование целочисленного значения в AnsiString в Delphi 2009

Функция IntToStr() возвращает строку, которая теперь является Unicode. Я хочу преобразовать в AnsiString. Могу ли я безопасно использовать AnsiString(IntToStr(I))?


person user42065    schedule 05.12.2008    source источник


Ответы (2)


Конечно. Или вы можете использовать IntToAnsiString (написано Dr. Bob):

function IntToAnsiStr(X: Integer; Width: Integer = 0): AnsiString;
begin
   Str(X: Width, Result);
end;
person gabr    schedule 05.12.2008

Да, вы можете безопасно преобразовать UnicodeString, возвращаемый IntToStr, в AnsiString. Причина его безопасности заключается в том, что возвращаемая им строка будет содержать только цифровые символы от '0' до '9', а не какие-либо причудливые цифры Unicode, поэтому преобразование в AnsiString не приведет к потере информации.

person Rob Kennedy    schedule 05.12.2008