Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод числа в textbox с разделителем, отобразить число в опр. формате 
V
    Опции темы
Alfiere
Дата 10.3.2009, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



Всем добрый вечер!  smile 

Есть у меня свой контрол, наследуемый от текстбокса. Его задача (с которой он справляется на ура) - позволять пользователю вводить в textbox только число определенного формата (использую регулярное выражение @"^\d*[,]?\d{0,2}$").

Но так же хотелось бы, чтобы пользователю отображалось число (хотя бы по потери фокуса с этого текстбокса) с разделителями. 

Пример:
Число 1234567,89 должно отображаться так: 1 234 567,89.

Пыталась на потерю фокуса сделать следующее:
Код

NumberFormatInfo nfi = new CultureInfo("en-US", false).NumberFormat;
nfi.NumberDecimalSeparator = " ";
nfi.CurrencyDecimalSeparator = ",";
decimal d = decimal.Parse(this.Text);
this.Text = d.ToString(nfi);


не работает =(

Может кто-нибудь решал подобную задачу? буду благодарна за помощь=)

Добавлено через 5 минут и 31 секунду
Не правильный код выложила. Пробовала так:
Код

NumberFormatInfo nfi = new CultureInfo("en-US", false).NumberFormat;
nfi.NumberGroupSeparator= " ";
nfi.CurrencyDecimalSeparator = ",";
decimal d = decimal.Parse(this.Text);
this.Text = d.ToString(nfi);


Не работает smile 
PM MAIL   Вверх
Alfiere
Дата 10.3.2009, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



Поборола smile 

Заработало вот так:

на потерю фокуса выполняется следующее:

Код

this.Text= Microsoft.VisualBasic.Strings.FormatNumber(this.Text, -1, Microsoft.VisualBasic.TriState.True, Microsoft.VisualBasic.TriState.True, Microsoft.VisualBasic.TriState.True);



Хотя я так и не поняла... почему в С# нету функции FormatNumber? Или я ее не нашла?smile или они про нее забыли?   smile 
PM MAIL   Вверх
-Mikle-
Дата 12.3.2009, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



Alfiere, можно еще так:
this.Text = decimal.Parse(this.Text).ToString("### ### ### ###");


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0798 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.