| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Преобразоавние str во float |
| Автор: Syrex 27.9.2006, 13:59 |
| Как установить по умолчанию в программе разделитель целой и дробной части ','??? |
| Автор: Никто 27.9.2006, 14:14 |
| Как это относится к называнию темы. |
| Автор: Syrex 27.9.2006, 14:17 |
| После преобразования sum=StrToFloat(sum_text) я пытаюсь занести sum в базу данных парадокса. И иногда вылетает сообщение EConvertError. Так как парадокс воспринимает в виде разделителя только запятую. А каждый раз менять в настройках винды разделитель с "." на "," геморойно! |
| Автор: Alexeis 27.9.2006, 14:34 | ||
|
| Автор: Romikgy 27.9.2006, 14:56 | ||
в дельфи так и работает всегда
|
| Автор: Syrex 27.9.2006, 14:56 |
| Всё равно не получается. Если по умолчанию стоит английский язык - то вводится разделителем точка |
| Автор: Vyacheslav 27.9.2006, 15:02 |
| А почему просто не писать в базу непосредственно float, если дело в парадоксе |
| Автор: Vyacheslav 27.9.2006, 15:14 | ||
| Да похоже, что там проблема не правильно локализована То есть перевод строки во Extended прошло нормально. Разделитель тут не причем
То есть, когда полю присваивается Extended value вылетает EConvertError. Я не специалист по парадоксу, но напрашивается следущее: какакой тип поля таблицы и может ли вообще Extended быть преобразован кк типу, который требуется для данного поля? |
| Автор: Syrex 27.9.2006, 15:24 |
| Может я эту функцию не там прописываю?? |
| Автор: Alexeis 27.9.2006, 15:45 |
Ошибка в 17 строке. |
| Автор: Syrex 27.9.2006, 16:38 | ||
Потому, что парадок воспринимает в качестве разделителя только запятую. А прога выдает точку. |
| Автор: Vyacheslav 27.9.2006, 16:58 | ||||||||
Исправляем бардак в голове. Парадоксу, как и любой другой базе данных при получении float совершенно фиолетово какой знак используется в качестве разделителя по той просто причине, что во внутреннем представлении числа знак разделителя не присутствует. Какой знак, важно лишт при преобразовании строки во float, но эта операция с Ваших слов проходит без проблем
Тут ключевое слов после. То есть Вы уже получили sum, в котором знак разделителя уже никак не представлен, а посему дальше должно идти банальное присвоение одного числа другому
|
| Автор: Romikgy 27.9.2006, 17:01 |
дык преобразуй точку в запятую |
| Автор: ShadoWolf 4.10.2006, 14:16 |
| Зачем зацикливаться на точке и запятой, базы данных парадокс отлично воспринимают запись переменных в формате float |