|
Вопрос # 5 740/ вопрос открыт / |
|
Здорово всем! У меня вопрос такого плана. Никогда с этим не сталкивался и не могу понять где хоть искать. Вот в чем проблема! У меня есть функция преобразования строки в десятичное число, выглядит она следующим образом:
function StrToFloat2(const S: string):real;
var
i:integer;
begin
if s='' then begin
Result:=-1;
exit;
end;
for I :=1 to Length(S) do
begin
if not (S[I] in ['0'..'9',',']) then begin
Result:=-1;
exit;
end;
end;
Result:=StrToFloat(s);
end;
Все работает (10 компов), но вот на 3-х компьютерах все ровно выдает ошибку плана:
'3,70' is not a valid floating point value.
То есть я уже перевожу строковый формат с запятой...
Вот не могу понять... в чем может быть проблема??? 3,70 - это же типичный REAL... Пробовал менять на точку как разделитель. но тоже самое...
Помогите! Очень надо!!!
Везде системы одинаковые XP (установлены может быть и с разных установочных дисков), но системы Windows XP везде...
Может быть какой библиотеки не хватает???
 |
Вопрос задал: RAW (статус: Посетитель)
Вопрос отправлен: 12 ноября 2011, 15:54
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 13; последнее сообщение — 14 ноября 2011, 11:34; участников в обсуждении: 5.
|
min@y™ (статус: Доктор наук), 12 ноября 2011, 16:05 [#1]:
Это delphi или паскаль? Если delphi, то почему бы не закончить изобретать велосипеды и воспользоваться функцией TryStrToFloat()?
function TryStrToFloat(const S: string; out Value: Extended): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Double): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Single): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Extended; const FormatSettings: TFormatSettings): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Double; const FormatSettings: TFormatSettings): Boolean; overload;
function TryStrToFloat(const S: string; out Value: Single; const FormatSettings: TFormatSettings): Boolean; overload;
А если паскаль, то есть процедура Val().
Попробуй, вдруг поможет.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
RAW (статус: Посетитель), 12 ноября 2011, 16:11 [#2]:
а она что? проверяет десятичная ли это вещь????
или можно вывести out как значение???
|
|
RAW (статус: Посетитель), 12 ноября 2011, 16:12 [#3]:
Я вот что сделал... помогло
1. Зайдите в ПУСК
2. Выберите "Настройка"
3. Выберите "Панель управления"
4. Выберите "Язык и региональные стандарты"
5. Во вкладке "Региональные параметры" нажмите кнопку "Настройка"
6. В поле "Разделитель целой и дробной части" поставьте "запятую" (,)
7. Нажмите "ОК"
|
|
min@y™ (статус: Доктор наук), 12 ноября 2011, 16:33 [#4]:
Цитата (RAW):
а она что? проверяет десятичная ли это вещь???? или можно вывести out как значение???
Хулио ты ж Иглесиас! Ну по параметрам жеж видно всё.
Цитата (RAW):
Я вот что сделал... помогло
1. Зайдите в ПУСК 2. Выберите "Настройка" 3. Выберите "Панель управления" 4. Выберите "Язык и региональные стандарты" 5. Во вкладке "Региональные параметры" нажмите кнопку "Настройка" 6. В поле "Разделитель целой и дробной части" поставьте "запятую" (,) 7. Нажмите "ОК"
Да я, в принципе, так и думал, но надеялся, что ты проведёшь таки эксперимент. 
Помогло!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 12 ноября 2011, 16:35 [#5]:
Не, не так!
Я надеялся, что ТЫ (именно!!!) проведёшь таки эксперимент! Вот так я хотел!
Если не надоест - станешь программистом.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
RAW (статус: Посетитель), 12 ноября 2011, 16:43 [#6]:
ППЦ! Станешь программистом - это жуть
Да я поболе тебя знаю в программировании...
Я на своих прогах имею доход по 80-90 штук в месяц, так что могу сказать, что программист я все же не пустой...
И главное, что хвалебные оды получаю от клиентов за проги. Это ли не программист...
Просто реально вот вроде шуточный вопрос, а куда лезть не знаю... н благо инет большой...
|
|
min@y™ (статус: Доктор наук), 12 ноября 2011, 16:54 [#7]:
Цитата (RAW):
Да я поболе тебя знаю в программировании...
Супер, Респект и Уважуха! (аббревиатурка получилась, мдя...)
Раз поболе меня знаешь в программировании, значит перестань задавать детские вопросы и становись тут экспертом, заменишь меня. А то я устал. И зарплата у меня гораздо меньше. И хвалебных од я от клиентов не получаю.
А КУДА ЛЕЗТЬ - Я ЗНАЮ!!!
З.Ы. Желаю Т.У. Адиос, амиго!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
RAW (статус: Посетитель), 12 ноября 2011, 17:04 [#8]:
Ну ладно-ладно! Спасибо за помощь... Каждому свое! Благодарю тебя...
Тебе тоже удачи... Найди свое и будешь на вершине!!!
Я сам на себя работаю, своя лэйба, свой софт, один программист - я сам, один админ сайта - я, один кассир - я, один специалист -я, один спец.сотрудник - я, один раскрутчик - я, один модератор, экономист, разработчик, написатель скриптов, планировщик задач, бета-тестер... и еще куча всего - один я.
Так что мне тоже не легко. Сам тружусь, сам и зарабатываю.
про 90 штук это раньше.
Сейчас уже поболе... 
В том месяце заработал на своем софте 280 тыр.
И это только на русском рынке, т.к. с английским у меня проблемы, и на европу пока не знаю как выйти...
хотя уверен, что мой софт будет скупаться как горячие пирожки, если даже сейчас с таиланда, конг конга, латвии, германии, франции покупали (кто с русским дружит).
Вот х.з. токо как на Европу выйти....
Не потянуть одному...
|
|
min@y™ (статус: Доктор наук), 12 ноября 2011, 17:09 [#9]:
Прочитал. Молодец. Ты настоящий программист.
А я - дворник.
Пойду покурю, заодно раковину отмою от зубной пасты... А то неделю собираюсь, всё никак.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Ерёмин А.А. (статус: *Администратор), 12 ноября 2011, 22:04 [#10]:
Автор, если вопрос решён, измените его состояние.
Кстати, проблема решается одной строкой:
DecimalSeparator:='.';
|
|
min@y™ (статус: Доктор наук), 12 ноября 2011, 22:07 [#11]:
Андрюх, ты убил всю интригу! Ну где твоё чувство юмора?!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Толяныч (статус: 4-ый класс), 14 ноября 2011, 08:41 [#12]:
Помогите же человеку! Зуперпрограммер горит на корню! Мегабаксы дохода под угрозой!
Sorry, не удержался...
|
|
bugmenot (статус: 3-ий класс), 14 ноября 2011, 11:34 [#13]:
Прикольно, чо
Разбираться в компах программисту не обязательно, он в европу должен форточку прорубать =)
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|