Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Доброжелательный пушистик
92 / 55 / 35
Регистрация: 07.06.2012
Сообщений: 307
1

Валюта

28.01.2020, 19:54. Показов 2729. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.Сломал уже весь мозг с этой валютой) Вывожу из XML файла через Ling данные на сотрудников и присутствует зп. Зп вида 29556.00 или 229556.95 короче суммы не малые и с копейками. Пытаюсь ему присвоить значение с которым бы мог потом производить математические действия но он тупо шлёт меня на три буквы. Что я делаю не так?

C#
1
2
3
4
        public class Registrys
        {
            public double Count { get; set; }
        }

C#
1
2
3
4
5
                    List<Registrys> Reg_List = xdoc.Root.Element("ЗачислениеЗарплаты").Elements("Сотрудник").Select(view => new Registrys
                    {
                        Account = view.Element("ЛицевойСчет").Value ?? null,
                        Count= Convert.ToDouble(view.Element("Сумма").Value)
                    }).ToList();
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2020, 19:54
Ответы с готовыми решениями:

Создать абстрактный класс Currency (валюта)
Создать абстрактный класс Currency (валюта) для работы с денежными суммами .Определить виртуальные...

Валюта
Всем привет, не имею представления как создать что то типо расчетов (зачисление на свой...

Валюта))
Создать программу с помощью которой можно ввести продажу валют - доллар, немецкая марка, российский...

ВАЛЮТА
КАК В УПП 1С: 8.1 ОФОРМЛЯЕТСЯ ПРОДАЖА ВАЛЮТЫ?!

5
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
28.01.2020, 21:02 2
Цитата Сообщение от upfly Посмотреть сообщение
Что я делаю не так?
В первую очередь — используете double там, для чего специально был придуман тип decimal — для работы с финансами.

А так у вас в классе одно поле Count, а присваиваете вы значение еще какому-то полю Account.
Ну и текст посыла на три буквы не повредил бы.

Подозреваю, что какой-то из элементов может отсутствовать и вылетает NullReferenceException.
Добавьте проверки.
1
Доброжелательный пушистик
92 / 55 / 35
Регистрация: 07.06.2012
Сообщений: 307
28.01.2020, 21:24  [ТС] 3
Не,по переменным всё хорошо. Если выдаю в string то всё выводится норм.

Добавлено через 2 минуты
B decimal выдаёт ту же ошибку, мол входная строка имела неверный формат

Добавлено через 14 минут
Т.е. если делаю так
C#
1
2
3
4
        public class Registrys
        {
            public string Count { get; set; }
        }
C#
1
2
3
4
5
                    List<Registrys> Reg_List = xdoc.Root.Element("ЗачислениеЗарплаты").Elements("Сотрудник").Select(view => new Registrys
                    {
                        Account = view.Element("ЛицевойСчет").Value ?? null,
                        Count= view.Element("Сумма").Value
                    }).ToList();
то всё работает замечталеьно но мне надо мат действия с Count производить... а оно не хочет из строки переводится
0
Эксперт .NET
17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
28.01.2020, 21:37 4
Лучший ответ Сообщение было отмечено upfly как решение

Решение

Цитата Сообщение от upfly Посмотреть сообщение
строка имела неверный формат
Какой формат числа используется в файле?
При конвертации по умолчанию используется формат, установленный в системе. Если он не совпадает с форматом, используемым в файле, то будет ошибка.
Например, если в системе используется запятая для разделения десятичной части, а в файле — точка. Или наоборот.

Если у вас эта ситуация, то используйте decimal.Parse, передавая вторым аргументом культуру, соответствующую той, в которой значение хранится в файле.

Добавлено через 1 минуту
Цитата Сообщение от upfly Посмотреть сообщение
Зп вида 29556.00 или 229556.95
C#
1
Count = decimal.Parse((string)view.Element("Сумма"), CultureInfo.InvariantCulture)
2
Доброжелательный пушистик
92 / 55 / 35
Регистрация: 07.06.2012
Сообщений: 307
28.01.2020, 22:05  [ТС] 5
Спасибо)Всё зафурынькало
0
Доброжелательный пушистик
92 / 55 / 35
Регистрация: 07.06.2012
Сообщений: 307
31.01.2020, 00:39  [ТС] 6
Del, решил проблему
0
31.01.2020, 00:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2020, 00:39
Помогаю со студенческими работами здесь

Валюта VirtueMart 2
if (!empty($product-&gt;prices)) { echo $currency-&gt;createPriceDiv ('salesPrice', '',...

Не ставится язык и валюта
Notice: Error: Could not load language russian! in...

Валюта всё переворачивает
Подскажите пожалуйста. На сайте https://doskavsem.ru/list/?search=price%3Adesc при переключение...

Валюта регламентированного учета в 8.3
Добрый день. В 8.2 при программном создании документа можно было написать: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru