Номер статьи: KB000012
Связанные блоки:
Существует два способа преобразования вещественных чисел/дат в строку и обратно: с помощью методов ToString/Parse и методов статичного класса CultureInfo.
Методы ToString/Parse предназначены для преобразования чисел/дат без учета региональных настроек и операционной системы. ТoString после выполнения возвращает строку, которая может быть сохранена в БД. На другом компьютере (с другой версией операционной системы или другими региональными настройками) данная стока из БД может быть преобразована в исходное число путем вызова метода Parse. При этом, данные будут корректными.
Методы статического класса CultureInfo предназначены для преобразования чисел/ дат с учетом региональных настроек и операционной системы пользователя, т.е. для корректного отображения данных.
Все преобразования производятся без учета региональных настроек и операционной системы.
Метод | Синтаксис | Описание |
ToString | ToString; | Преобразовывает значение в строку. |
Parse | Parse(Value: String); | Возвращает значение, преобразованное из строки в системный тип. |
См. также:
Double.ToStringDouble.ToString | Double.ParseDouble.Parse | DateTime.ToStringDateTime.ToString | DateTime.ParseDateTime.Parse
Все преобразования производятся с учетом региональных настроек и операционной системы.
Метод | Синтаксис | Описание |
FormatDouble(Value: Double): String; | Преобразовывает вещественное число в строку. | |
FormatDoublePrec (Value:Double; Precision: Integer): String; |
Преобразовывает вещественное число в строку с выбранной точностью. | |
ParseDouble(Value: String): Double; | Возвращает вещественное число, преобразованное из строки. | |
TryParseDouble (Value: String; Result: Double): Boolean; |
Возвращает True, если удалось преобразовать вещественное число из строки. | |
FormatDateTime(Value: DateTime): String; | Преобразовывает дату (с временем) в строку. | |
FormatDate(Value: DateTime): String; | Преобразовывает дату (без времени) в строку. | |
FormatDateEx (Value: DateTime; Format: String): String; |
Преобразовывает дату в строку с учетом указанного формата. | |
FormatShortDate(Value: DateTime): String; | Преобразовывает дату в строку (в кратком формате, например, «06.06.2006»). | |
FormatLongDate(Value: DateTime): String; | Преобразовывает дату в строку (в полном формате, например, «6 июня 2006 г.»). | |
ParseDateTime(Value: String): DateTime; | Возвращает дату (с временем), преобразованное из строки. | |
ParseDate(Value: String): DateTime; | Возвращает дату (без времени), преобразованную из строки. |
Sub UserProc;
Var
CF: ICultureInfo;
s: String;
Begin
CF := CultureInfo.Current;
s := CF.FormatDouble(3.14);
Debug.WriteLine("FormatDouble: " + s);
s := (3.14).ToString;
Debug.WriteLine("ToString: " + s);
s := CF.FormatDateEx(DateTime.Now, "dddd, MM/yyyy");
Debug.WriteLine("FormatDateEx: " + s);
s := (DateTime.Now).ToString;
Debug.WriteLine("ToString: " + s);
End Sub UserProc;
После выполнения примера в окно консоли будет выведены результаты преобразования вещественного числа и даты, как с учетом, так и без учета региональных параметров и операционной системы.
Результаты выполнения примера на русскоязычной ОС Windows:
Module execution started
FormatDouble: 3,14
ToString: 3.1400000000000001
FormatDateEx: четверг, 06/2010
ToString: 10.06.2010 16:10:50
Module execution finished
Результаты выполнения примера на англоязычной ОС Windows:
Module execution started
FormatDouble: 3.14
ToString: 3.1400000000000001
FormatDateEx: Thursday, 06/2010
ToString: 10.06.2010 16:10:58
Module execution finished
См. также: