Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Подскажите методы борьбы с запятой

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Mikle



Зарегистрирован: 10.01.2005
Сообщения: 5
Откуда: Москва

СообщениеДобавлено: Пн Мар 07 2005 16:18    Заголовок сообщения: Подскажите методы борьбы с запятой Ответить с цитатой

Во многих формах в поля ввода должны вводиться числовые данные. Однако вот беда, в американском формате десятичный разделитель - это точка ("."), а в русском - это запятая (","). Знак который вводится как десятичный разделитель зависит от настроек Винды (вклядка "Язык и раскладка"). При английском раскладе будет допустим 3.14, при русском 3,14. При программировании воспринимаются только числа с ".". Сейчас мои программы влоб преобразуют строки из полей ввода, заменяя там "," на ".", после чего идёт преобразование строки в число.
Может кто знает более быстрый и удобный способ работы с ","?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
DmitryShm



Зарегистрирован: 17.11.2003
Сообщения: 211
Откуда: Казань

СообщениеДобавлено: Вт Мар 08 2005 10:37    Заголовок сообщения: На чем пишешь? Ответить с цитатой

Решение может состоять в том, чтобы прямо или косвенно использовать WinAPI, работающий с локалью. Самым удачным было бы использование .NET, или любой другой грамотный фреймворк (можно и J2EE) . Тогда такие мелкие вопросы бы не возникали. Если не использовать фреймворки, то ответ один: WinAPI. Тем более, что все реализации фреймворков для Windows используют WinAPI, просто это грамотно скрыто за хорошими семействами классов.
_________________
love IT
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mikle



Зарегистрирован: 10.01.2005
Сообщения: 5
Откуда: Москва

СообщениеДобавлено: Вт Мар 08 2005 14:17    Заголовок сообщения: Ответить с цитатой

А можно поподробней?
С помощью WinAPI, как я понимаю, можно определить символ разделителя, менять символ разделителя и заставлять программу работать с числами у которых символ десятичного разделителя не ".". Но вот что это за API ф-и???
Насчёт .NET. Какие классы отвечают за эту работу???
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
grayrat



Зарегистрирован: 30.06.2003
Сообщения: 189

СообщениеДобавлено: Ср Мар 09 2005 20:01    Заголовок сообщения: DecimalSeparator Ответить с цитатой

Если пишешь в борланде, то есть такая глобальная переменная, DecimalSeparator. Берёшь, и хоть мягкий знак ей присваиваешь в качестве десятичного разделителя в начале программы. В других средах должна быть аналогичная. Поупражняйся в словообразовании английского языка, глядишь, что нибудь найдешь по поиску
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Wladimir



Зарегистрирован: 02.03.2005
Сообщения: 150
Откуда: Ставропольский край

СообщениеДобавлено: Ср Мар 09 2005 21:13    Заголовок сообщения: Ответить с цитатой

>Если пишешь в борланде, то есть такая глобальная переменная, DecimalSeparator
Точнее сказать, в VCL. Не всякий борланд - VCL.
В том же модуле, кстати, есть и другие аналогичные по назначению переменные.

В стандарте С++ определён набор локалей (#include <locale>).
В начале программы определяешь setlocale(LC_...), и форматные функции используют выбранный набор подстановок.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...