Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сравнение значение строковой переменной с 0 / 15 сообщений из 15, страница 1 из 1
31.08.2013, 23:50
    #38383349
Testor1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Всем привет!

if(ToConvert.Decimal(mystring) == 0)

какие еще есть способы сравнения значение строки с 0? текущая версия работает очень медленно

возможны варианты записи числа в mystring - целое число или с 6 знаками после разделителя.
...
Рейтинг: 0 / 0
02.09.2013, 06:37
    #38383765
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Testor1Всем привет!

if(ToConvert.Decimal(mystring) == 0)

какие еще есть способы сравнения значение строки с 0? текущая версия работает очень медленно

возможны варианты записи числа в mystring - целое число или с 6 знаками после разделителя.
System.String.Equals ?
...
Рейтинг: 0 / 0
02.09.2013, 12:17
    #38384007
Testor1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Alex KuznetsovTestor1Всем привет!

if(ToConvert.Decimal(mystring) == 0)

какие еще есть способы сравнения значение строки с 0? текущая версия работает очень медленно

возможны варианты записи числа в mystring - целое число или с 6 знаками после разделителя.
System.String.Equals ?

И как сравнивать, если в строке могут быть варианты ?
1) 0
2) 0.0
3) 0.00
4) 0.000
5) 0.0000
6) .0
...
Рейтинг: 0 / 0
02.09.2013, 12:58
    #38384057
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Testor1Alex Kuznetsovпропущено...

System.String.Equals ?

И как сравнивать, если в строке могут быть варианты ?
1) 0
2) 0.0
3) 0.00
4) 0.000
5) 0.0000
6) .0
В первоначальном вопросе про столько вариантов сказано не было...

Testor1...возможны варианты записи числа в mystring - целое число или с 6 знаками после разделителя..., т.е. мы понимаем, что возможно на входе может быть всего два варианта - целое или с шестью знаками после разделителя.

Ставьте вопросы чётче...
...
Рейтинг: 0 / 0
02.09.2013, 13:01
    #38384062
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Testor1Alex Kuznetsovпропущено...

System.String.Equals ?

И как сравнивать, если в строке могут быть варианты ?
1) 0
2) 0.0
3) 0.00
4) 0.000
5) 0.0000
6) .0
Код: c#
1.
var zeros = new Dictionary<String, Decimal> { { "0", 0m }, { "0.0", 0m }, { "0.00", 0m }, { "0.000", 0m }, { "0.0000", 0m }, { ".0", 0m } };


Код: c#
1.
if (zeros.ContainsKey(mystring))
...
Рейтинг: 0 / 0
02.09.2013, 13:03
    #38384063
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Код: c#
1.
var zeros = new List<String> { "0", "0.0", "0.00", "0.000", "0.0000", ".0" };


Код: c#
1.
if (zeros.Contains(mystring))


Так у меня даже быстрее
...
Рейтинг: 0 / 0
02.09.2013, 13:23
    #38384077
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
если входную строку не нужно проверять на валидность, то при наличии первого же чара, отличного от 0 и разделителя выдавать false
...
Рейтинг: 0 / 0
02.09.2013, 13:57
    #38384140
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Pallarisесли входную строку не нужно проверять на валидность, то при наличии первого же чара, отличного от 0 и разделителя выдавать false
Кстати да:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
static bool IsZero(string value)
{
    for (int i = 0; i < value.Length; i++)
    {
        char character = value[i];

        if (character != '.' && character != '0')
        {
            return false;
        }
    }

    return true;
}


Код: c#
1.
if (IsZero(mystring))
...
Рейтинг: 0 / 0
22.09.2013, 08:56
    #38403789
Testor1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
skyANAPallarisесли входную строку не нужно проверять на валидность, то при наличии первого же чара, отличного от 0 и разделителя выдавать false
Кстати да:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
static bool IsZero(string value)
{
    for (int i = 0; i < value.Length; i++)
    {
        char character = value[i];

        if (character != '.' && character != '0')
        {
            return false;
        }
    }

    return true;
}


Код: c#
1.
if (IsZero(mystring))



Кстати - конвертация не быстрее, чем предложенный вариант?
...
Рейтинг: 0 / 0
22.09.2013, 09:49
    #38403795
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Testor1,

а ты проверь, или за тебя копипастить?
...
Рейтинг: 0 / 0
22.09.2013, 10:21
    #38403797
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Testor1if(ToConvert.Decimal(mystring) == 0)
какие еще есть способы сравнения значение строки с 0? текущая версия работает очень медленно
Как и с помощью чего измерял?
...
Рейтинг: 0 / 0
24.09.2013, 17:24
    #38406395
Testor1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
МСУTestor1if(ToConvert.Decimal(mystring) == 0)
какие еще есть способы сравнения значение строки с 0? текущая версия работает очень медленно
Как и с помощью чего измерял?

VS профайлером
ему этот кусок очень не нравился
больше всего рессурсов уходило на эту обработку
...
Рейтинг: 0 / 0
24.09.2013, 17:41
    #38406419
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Testor1VS профайлером
ему этот кусок очень не нравился
больше всего рессурсов уходило на эту обработку
Покажи результаты.
...
Рейтинг: 0 / 0
24.09.2013, 17:41
    #38406420
Testor1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Testor1skyANAпропущено...

Кстати да:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
static bool IsZero(string value)
{
    for (int i = 0; i < value.Length; i++)
    {
        char character = value[i];

        if (character != '.' && character != '0')
        {
            return false;
        }
    }

    return true;
}


Код: c#
1.
if (IsZero(mystring))



Кстати - конвертация не быстрее, чем предложенный вариант?

Вопрос, а зачем делаете присвоение char character = value[i]; для дальнейшего сравнения ?
...
Рейтинг: 0 / 0
24.09.2013, 17:47
    #38406432
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение значение строковой переменной с 0
Код: c#
1.
2.
3.
4.
5.
6.
 char character = value[i];

        if (character != '.' && character != '0')
        {
            return false;
        }

Этот участок будет быстрее, если сравнивать не чары, а их коды.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сравнение значение строковой переменной с 0 / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]