Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не понятная ошибка в преобразовании / 25 сообщений из 26, страница 1 из 2
05.04.2013, 14:14
    #38214417
Андрюхин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Всем привет! имеется строквая переменная содержащая разные символы, если попалась слово result то выводим info.Text = "Результат:"+ readed +"гр/литр"; и начинаем переводить обработанный readed (сабстрингом обработанный)в доубл и сравниваем с числом 0.000, и в этом местет у меня ошибка...попадаем в кетч...двумя способами сделал..всеравно так..вот код:



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
if (readed.Contains("RESULT"))
                    {
                        readed = readed.Substring(7, 5);


                        info.Text = "Результат:"+ readed +"гр/литр";


                        if (Convert.ToDouble(readed.Replace(",",".")) > 0.000)
                        {
                           
                            //отправляем сообщение в 
                            MessageBox.Show("Дабл");
                            MessageBox.Show(readed);
                            MessageBox.Show("=============");
                        }

                        
                        if (Convert.ToDecimal(readed.Replace(",",".")) > 0.000m)
                        {

                            //отправляем сообщение в 
                            MessageBox.Show("Десимал");
                            MessageBox.Show(readed);

                        }

                    }
...
Рейтинг: 0 / 0
05.04.2013, 14:17
    #38214423
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
АндрюхинВсем привет! имеется строквая переменная содержащая разные символы, если попалась слово result то выводим info.Text = "Результат:"+ readed +"гр/литр"; и начинаем переводить обработанный readed (сабстрингом обработанный)в доубл и сравниваем с числом 0.000, и в этом местет у меня ошибка...попадаем в кетч...Пожалуйста, подождите. Идёт загрузка телепатического модуля для прочтения поля Exception.Message генерируемого исключения.
...
Рейтинг: 0 / 0
05.04.2013, 14:27
    #38214445
beg-in-er
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Андрюхин,

авторShow("Дабл");
.Show("Де с имал");

звиняйте , но это
...
Рейтинг: 0 / 0
05.04.2013, 15:56
    #38214636
Андрюхин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Abstraction,

как исправить ошибку не знаю
...
Рейтинг: 0 / 0
05.04.2013, 16:04
    #38214651
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
beg-in-er,

Будто бы это:
Код: c#
1.
2.
Convert.ToDouble(readed.Replace(",","."))
Convert.ToDecimal(readed.Replace(",",".")) 


не *твоя картинка*
...
Рейтинг: 0 / 0
05.04.2013, 16:07
    #38214657
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Андрюхин,

текст исключения пришлите, а то мы в такой же ситуации.
...
Рейтинг: 0 / 0
05.04.2013, 16:20
    #38214692
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Андрюхин,

... вы Substring свой проверьте, у вас туда или пробел (тогда Trim() сделайте) или двоеточее попадает ... или еще какой символ ..
...
Рейтинг: 0 / 0
05.04.2013, 16:23
    #38214697
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
carrotik,

не факт.
Также, например, число может приходить с разделителем тысяч в виде ".". Хотя, если хотите, повангуйте)
...
Рейтинг: 0 / 0
05.04.2013, 16:28
    #38214711
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Блин а слабо запихнуть все в трай-кэтч и выводить на экран, что же ты пытаешься сконвертить, когда выбрасывает исключение?
...
Рейтинг: 0 / 0
05.04.2013, 16:30
    #38214719
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Lelouch,

..не, ну можно Regex замутить ..:)
...
Рейтинг: 0 / 0
05.04.2013, 17:05
    #38214789
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
carrotik,

зачем? Вы по культуры, так же как и ТС, ничего не слышали?
...
Рейтинг: 0 / 0
05.04.2013, 17:08
    #38214794
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Или вы про отказ от Substring? Тогда, да, можно
...
Рейтинг: 0 / 0
05.04.2013, 17:53
    #38214905
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Lelouch,

... очень пристально я читал о культурах, когда из .Net делал запрос к IMAP-серверу .. У него дата специфическая ... а Регекс, да, я так факсовые номера вытягиваю из TIFF-ов
...
Рейтинг: 0 / 0
05.04.2013, 18:03
    #38214927
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
2TC:
1) Почему вы используете Convert.ToDecimal() / ToDouble(), а не double.TryParse и т.д.?
2) Почему вы заменяете символы в строке, а не используете культуры?
3) Вы в курсе, что оба ваших условия могут выполниться одновременно?
...
Рейтинг: 0 / 0
05.04.2013, 19:59
    #38215106
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Lelouch, какие такие культуры-шмультуры?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
using System;
using System.Globalization;

namespace TryParseApplication
{
    class Program
    {
        private const string ResultPrefix = "RESULT";

        private static readonly NumberFormatInfo numberFormat = new NumberFormatInfo { NumberDecimalSeparator = "." };
        private static readonly NumberStyles numberStyle = NumberStyles.AllowDecimalPoint;

        static void Main()
        {
            string input = "RESULT 12.34 gram/liter";
            double result;

            if (input.Contains(ResultPrefix))
            {
                input = input.Substring(7, 5);

                Console.WriteLine("Результат: {0} гр/литр", input);

                if (Double.TryParse(input, numberStyle, numberFormat, out result) && result > 0.0)
                {
                    Console.WriteLine("Double: {0}", result);
                }
            }

            Console.ReadKey();
        }
    }
}
...
Рейтинг: 0 / 0
05.04.2013, 20:07
    #38215111
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
skyANA,

"10 000,01". Или будете еще и параметр разделителей разрядов устанавливать? Не проще сразу ru-RU использовать?
...
Рейтинг: 0 / 0
05.04.2013, 20:10
    #38215117
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
using System;
using System.Globalization;

namespace TryParseApplication
{
    class Program
    {
        private const string ResultPrefix = "RESULT";

        private static readonly CultureInfo culture = new CultureInfo("ru-RU");
        private static readonly NumberStyles numberStyle = NumberStyles.AllowDecimalPoint;

        static void Main()
        {
            string input = "RESULT 12.34 gram/liter";
            double result;

            if (input.Contains(ResultPrefix))
            {
                input = input.Substring(7, 5);

                Console.WriteLine("Результат: {0} гр/литр", input);

                if (Double.TryParse(input, numberStyle, culture, out result) && result > 0.0)
                {
                    Console.WriteLine("Double: {0}", result);
                }
            }

            Console.ReadKey();
        }
    }
}



И даже буковок меньше! )
...
Рейтинг: 0 / 0
05.04.2013, 20:14
    #38215120
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Lelouch, цитирую автора:
Код: c#
1.
readed = readed.Substring(7, 5);

Не думаю что у него вообще есть разделители разрядов. И да, в чём проблема их установить?

P.S.: а вообще это был стёб. Автор явно нуб, а Вы ему про какие-то культуры затираете.
...
Рейтинг: 0 / 0
05.04.2013, 20:15
    #38215121
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
skyANA,

я надеюсь что он при упоминании культур погуглит.. зря?(
...
Рейтинг: 0 / 0
06.04.2013, 07:03
    #38215287
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
...
Рейтинг: 0 / 0
06.04.2013, 19:30
    #38215596
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
skyANALelouch, какие такие культуры-шмультуры?
А вот эти
skyANA
Код: c#
1.
new NumberFormatInfo 
...
Рейтинг: 0 / 0
07.04.2013, 03:01
    #38215806
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Cat2skyANALelouch, какие такие культуры-шмультуры?
А вот эти
skyANA
Код: c#
1.
new NumberFormatInfo 

Дык new NumberFormatInfo() инициализирует экземпляр не зависящий от какой-либо культуры.
...
Рейтинг: 0 / 0
07.04.2013, 10:15
    #38215840
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
skyANAДык new NumberFormatInfo() инициализирует экземпляр не зависящий от какой-либо культуры.
Не. Он иницилизирует экземпляр какой-то неизвестной науке культуры
...
Рейтинг: 0 / 0
07.04.2013, 10:15
    #38215842
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Экземпляр формата чисел, а не культуры
...
Рейтинг: 0 / 0
07.04.2013, 13:10
    #38216007
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не понятная ошибка в преобразовании
Cat2, давайте заглянем в MSDN:NumberFormatInfo ConstructorInitializes a new writable instance of the NumberFormatInfo class that is culture-independent (invariant).NumberFormatInfo ClassDefines how numeric values are formatted and displayed.То есть выходит, что вызов new NumberFormatInfo() инициализирует не зависящий от культуры экземпляр класса, что определяет как форматируются и отображаются числовые значения.

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


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