Как сделать что бы из textbox
значения перевести в тип double
и
что бы читалась в числе и точка и запятая?И как вывести в label
тип double?
И нужно в расчетах (обычных математических формулах) сделать, чтобы ответы округлялись до 0.00
и 0.000
?
Я начинаю программировать и поэтому такие вопросы.
параметр checkBox.text принимаеn строку. А значит нужно перевести ваше значение с типом double в строку. Для этого используйте на вашей переменной метод ToString();
double doubleValue = 0.2;
string someStringValue = "";
someStringValue = doubleValue.ToString();
Что бы перевести из строки в doublе или другой тип вам нужно использовать
double.Parse(string value);
К примеру:
string someStringValue = "0.2";
double someDoubleValue = double.Parse(someStringValue);
Подобным образом можно парсить и другие типы. К примеру:
int integerValue = int.Parse(someValue);
float floatValue = float.Parse(someValue);
Но может возникнуть проблема и ваша программа упадет на этапе выполнения если входные данные будет невозможно конвертировать. За этим нужно следить. Как вариант можно использовать к примеру
double doubleValue;
double.TryParse("some string", out doubleValue);
в этом случае если входная строка имела верный формат этот метод вернет вам тру и поместит в значение doubleValue данные. Если же нет, то метод вернет вам фолс И вот вам сразу ссылка на округление. там вы сможете детальнее его разобрать https://aakinshin.net/ru/posts/cheatsheet-rounding/
что бы вывести что то в lable можете использовать
someLable.Text = "необходимые данные";
Если все же будет падать при конвертировании со строки в double то как вариант можно подключить
using System.Globalization;
и передать
double.Parse("2.2",new NumberFormatInfo())
double double1 = double.Parse(textBox1.Text.Replace(',', '.'), System.Globalization.CultureInfo.InvariantCulture);
label1.Text = double1.ToString();
double1.ToString("#.##")
, если три double1.ToString("#.###")
label1.Text = double1.ToString("#.###");
//Из string в double (num - количество знаков после запятой)
private double? ToDouble(string str,int num = 2)
{
string[] mass = str.Split(new Char[] { ',','.' });
if (mass.Length > 2) return null;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
double result;
Double.TryParse($"{mass[0]}.{mass[1]}", out result);
result = Math.Round(result, num,MidpointRounding.AwayFromZero);
return result;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Зашел в тупик с десериализацией Json, подскажите, почему?
У меня есть приложение, которое отображает таблицы из БДБаза данных находится в папке с проектом, соответственно, строка подключения выглядит...