Date: 09/09/07 (Code WTF) Keywords: no keywords Ну, что скажете про //===[ Quest.Code ]===[ Alex : 28.06.2007 - 28.06.2007 ]====================== //===[ Quest.Status ]===[ + (решено) //===[ Quest.Header ]===[ Является ли строка вещественным (или целым) числом function IsDouble( myStr: string // Проверяемая строка ): boolean; // Возвращаемое значение (True - является, False - нет) //===[ Quest.Data ]============================================================= var temp: Extended; // Временная переменная begin //===[ Quest.Body ]====================================================== //---[ + 1.11 ]---[ Начальные присвоения result := True; myStr := StringReplace(myStr, '.', ',', [rfReplaceAll]); // Меняем точки на запятые //---[ + 2.11 ]---[ Обработка значения try temp := StrToFloat(myStr); except result := False; end; //===[ Quest.Directives ]======================================================= { ВНЕШНИЕ БИБЛИОТЕКИ: Запрещены! БЫСТРОДЕЙСТВИЕ : Не критично! РАСХОД ПАМЯТИ : Ограничен! ОПИСАНИЕ: Передать строку. Проверить, является ли она вещественным числом. В качестве разделителя должны проходить символы и точка, и запятая. Целые числа также должны проходить без ошибок. ПРИМЕР: myStr := '4.33' или '4,33'; РЕЗ-АТ: IsDouble(myStr) => True } //===[ Quest.Dependences ]====================================================== { МОДУЛИ: SysUtils, System ВЫЗОВЫ: нет КЛАССЫ: нет ТИПЫ Д: нет КОНСТ : нет ГЛ.ПЕР: нет } //===[ Quest.Resume ]=========================================================== { КОММЕНТАРИИ РАЗРАБОТЧИКА: Подпрограмма будет часто вызываться из других. РАСШИРЕННЫЕ СНОСКИ: *1* - нет *2* - нет } //===[ Quest.Tests ]============================================================ { 28.06.2007: Alex '123n34.455' => False '4.33' => True '4.3,3' => False '.33' => True '-.33' => True '+.' => True '-.' => True 28.06.2007: Tester '0.' => True '.0' => True # '4,33' => AV => ERROR + '4,33' => True => OK (28.06.2007: Alex) '+.33' => True '.' => True '.,' => False } end; //===[ Quest.End ]======================================================== Source: http://community.livejournal.com/code_wtf/100923.html
|