C# сравнение числа в переменной с дробью

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
Собственно проблема - надо сравнить число в переменной с дробным числом и дальше уже выполнять код исходя из результатов. К примеру, сравнить 1 и 0.04 или 1.000 и 0.04.
Для целочисленных значений есть кусок кода, но не смог его адаптировать к этим условиям (пробовал конвертировать в flat, но результата не получилось - либо ошибка при компиляции, либо ошибка при выполнении кода)
Код:
string strPattern3 = @"^.*?(?=\.)";
string strRegexResult3 = new Regex(strPattern3).Match(strRegexResult).Value;
int balanceAkk = Convert.ToInt32(strRegexResult3);
if (balanceAkk<2){
    project.SendInfoToLog("!", true);
    throw new Exception("");
}
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
C#:
string value1;
double number1;
string value2;
double number2;

value1 = project.Variables["ваше строковое число1"].Value;
value2 = project.Variables["ваше строковое число2"].Value;
      if (Double.TryParse(value1, out number1)&&Double.TryParse(value2, out number2))
         {
if (number1>number2) return number1;
}
типа такого должно быть
 
  • Спасибо
Реакции: kapelan28

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
потестировал код, немного его дополнил, но результата не вижу. Добавил информирование о выполнении, но в логе ничего нет
Код:
string value1;
double number1;
string value2;
double number2;
value1 = "0.000";
value2 = "0.04";
if (Double.TryParse(value1, out number1)&&Double.TryParse(value2, out number2))
         {
if (number1>number2)
{
    project.SendInfoToLog ("Oki Oki");
    return number1;
}else{
    project.SendErrorToLog ("Error");
}
}
Я где-то ошибку сделал?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
C#:
string value1 = "0.000";
string value2 = "0.04";
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");

if (double.Parse(value1, culture) > double.Parse(value2, culture)) {
    project.SendInfoToLog("Oki Oki");
    return value1;
}
else {
    project.SendErrorToLog("Error");
}
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
C#:
string value1 = "0.000";
string value2 = "0.04";
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");

if (double.Parse(value1, culture) > double.Parse(value2, culture)) {
    project.SendInfoToLog("Oki Oki");
    return value1;
}
else {
    project.SendErrorToLog("Error");
}
Все работает! Спасибо большое! :bt:
 
  • Спасибо
Реакции: keltuzhaknut

keltuzhaknut

Client
Регистрация
24.02.2016
Сообщения
221
Благодарностей
3
Баллы
18
Спасибо!!
 
Последнее редактирование:

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43

Atom

Client
Регистрация
03.08.2012
Сообщения
77
Благодарностей
7
Баллы
8
Код:
string value1 = project.Variables["price_dlya_raboty"].Value;
string value2 = project.Variables["min_stop_cena"].Value;
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
if (double.Parse(value1, culture) > double.Parse(value2, culture)) {
    return "Yes";
}
else {
    return "No";
}
Подскажите, пожалуйста, делаю так.
Ошибка:
Выполнение действия CSharp OwnCode Входная строка имела неверный формат.
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
  • Спасибо
Реакции: inbox и Atom

Atom

Client
Регистрация
03.08.2012
Сообщения
77
Благодарностей
7
Баллы
8
  • Спасибо
Реакции: kapelan28

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)