Как добавить textbox с маской денежный значений
Цитата: Igor от 18.11.2020, 12:27Добрый день!
Прошу помощи реализации:
Нужно добавить textbox с маской для денег, важно чтобы textbox и маска были реализованы через код c#.формат должен быть примерно таким
38 490, 00P.S. пытался искать в гугле решение, там есть реализация такой маски только через свойства textbox, что для моей задачи не подходит, так как у меня текстбокс появляется по нажатию кнопки. Сам процесс реализация добавления тексбокса я умею. За ранее спасибо за помощь. И ещё я делаю программу на WPF, но думаю код c# в реализации не должен отличаться для такой задачи.
Добрый день!
Прошу помощи реализации:
Нужно добавить textbox с маской для денег, важно чтобы textbox и маска были реализованы через код c#.
формат должен быть примерно таким
38 490, 00
P.S. пытался искать в гугле решение, там есть реализация такой маски только через свойства textbox, что для моей задачи не подходит, так как у меня текстбокс появляется по нажатию кнопки. Сам процесс реализация добавления тексбокса я умею. За ранее спасибо за помощь. И ещё я делаю программу на WPF, но думаю код c# в реализации не должен отличаться для такой задачи.
Цитата: Roman Anderson [anomal3] от 04.12.2020, 14:46Значение отображения зависит от культуры. То есть. Если в Америке напимер 38,490 в Англии 38'490 то у нас 38 490
Изменить можно так
int number = 38490; MessageBox.Show(number.ToString("N2", new CultureInfo("Ru-ru"))); //Можно использовать свой так называемый форматтер var numberFormat = CultureInfo.InvariantCulture.NumberFormat.Clone() as NumberFormatInfo; numberFormat.NumberGroupSeparator = " "; int x = 38490; string s = x.ToString("N0", numberFormat);что такое N0 и N2 и какие ещё существуют форматы смотри официальный FAQ
https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/standard-numeric-format-strings[MNotice]@anomal3, у нас принято здороваться.[/MNotice]
Значение отображения зависит от культуры. То есть. Если в Америке напимер 38,490 в Англии 38'490 то у нас 38 490
Изменить можно так
int number = 38490;
MessageBox.Show(number.ToString("N2", new CultureInfo("Ru-ru")));
//Можно использовать свой так называемый форматтер
var numberFormat = CultureInfo.InvariantCulture.NumberFormat.Clone() as NumberFormatInfo;
numberFormat.NumberGroupSeparator = " ";
int x = 38490;
string s = x.ToString("N0", numberFormat);
что такое N0 и N2 и какие ещё существуют форматы смотри официальный FAQ
https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/standard-numeric-format-strings
Комментарий модератора:
@anomal3, у нас принято здороваться.