У меня есть числовое значение в Textbox
, которое я хотел бы отформатировать в процентах. Как это сделать на C# или VB.NET?Формат текста из текстового поля в процентах
ответ
Опираясь на ответ Larsenal, то как об использовании событий что-то вроде этого TextBox.Validating:
yourTextBox_Validating(object sender, CancelEventArgs e)
{
double doubleValue;
if(Double.TryParse(yourTextBox.Text, out doubleValue))
{
yourTextBox.Text = doubleValue.ToString("0%");
}
else
{
e.Cancel = true;
// do some sort of error reporting
}
}
Для дополнительного удовольствия давайте сделаем парсер немного более сложным.
Вместо Double.TryParse
, давайте создадим Percent.TryParse
, который проходит эти испытания:
100.0 == " 100.0 "
55.0 == " 55% "
100.0 == "1"
1.0 == " 1 % "
0.9 == " 0.9 % "
90 == " 0.9 "
50.0 == "50 "
1.001 == " 1.001"
Я думаю, что эти правила выглядят справедливыми, если бы я был пользователь должен ввести процент. Он позволяет вводить десятичные значения вместе с процентами (требуя концевой символ «%» или что введенное значение больше 1
).
public static class Percent {
static string LOCAL_PERCENT = "%";
static Regex PARSE_RE = new Regex(@"([\d\.,]+)\s*("+LOCAL_PERCENT+")?");
public static bool TryParse(string str, out double ret) {
var m = PARSE_RE.Match(str);
if (m.Success) {
double val;
if (!double.TryParse(m.Groups[1].Value, out val)) {
ret = 0.0;
return false;
}
bool perc = (m.Groups[2].Value == LOCAL_PERCENT);
perc = perc || (!perc && val > 1.0);
ret = perc ? val : val * 100.0;
return true;
}
else {
ret = 0.0;
return false;
}
}
public static double Parse(string str) {
double ret;
if (!TryParse(str, out ret)) {
throw new FormatException("Cannot parse: " + str);
}
return ret;
}
public static double ParsePercent(this string str) {
return Parse(str);
}
}
Конечно, все это излишеством, если вы просто поставить «%» знак вне от TextBox
.
Небольшой обман для заполнения Label's (& TexBox) на панели перед входом пользователя. Это охватывает десятичные числа, целые числа, проценты и строки.
Использование C# 1.1 в случае Page_Load, прежде чем любая вещь случается:
if (!this.IsPostBack)
{
pnlIntake.Vissible=true' // what our guest will see & then disappear
pnlResult.Vissible=false" // what will show up when the 'Submit' button fires
txtIperson.Text = "enter who";
lbl1R.Text = String.Format(Convert.ToString(0)); // how many times
lbl2R.Text = String.Format(Convert.ToString(365)); // days a year
lblPercentTime = String.Format("{0:p}", 0.00); // or one zero will work '0'
lblDecimal = String.Format("{0:d}", 0.00); // to use as multiplier
lblMoney = String.Format("{0:c}", 0.00); // I just like money
< some code goes here - if you want >
}
- 1. Удаление текста из текстового поля
- 2. Формат текстового поля
- 3. Угловой формат для числового текстового поля
- 4. Формат редактируемого текстового поля
- 5. чтение текста текстового поля
- 6. Смена текста текстового поля
- 7. Копирование текста из текстового поля в C++
- 8. Чтение текста из текстового поля в Radgrid
- 9. Печать текста в консоли из текстового поля
- 10. Ввод изменяет формат текстового поля
- 11. C# Формат текстового поля валюты
- 12. Как установить формат текстового поля как десятичный при наборе текста?
- 13. Чтение строк текста из богатого текстового поля
- 14. Извлечение частичного текста из текстового поля
- 15. динамический набор текста из текстового поля
- 16. Как избежать текста из текстового поля?
- 17. C# Выбор текста из правильного текстового поля
- 18. Доступ текста из текстового поля CSS
- 19. Удаление текста по умолчанию из текстового поля
- 20. Сохранение текста из текстового поля Цель C
- 21. Получение текста из текстового поля java fxml
- 22. Как установить формат текстового поля?
- 23. Формат текстового поля формата RDLC
- 24. Формат частей текста поля ввода
- 25. Прокрутка текста внутри текстового поля
- 26. ввод текста/заполнение текстового поля
- 27. Автоматическое форматирование текста текстового поля
- 28. Обновление текста из текстового поля из одной сцены в другую
- 29. Подтверждение текстового поля, содержащего float, является допустимым значением в процентах?
- 30. CSS: высота текстового поля в процентах от высоты окна просмотра
язык? 12345 –