11 / 11 / 5
Регистрация: 08.09.2013
Сообщений: 88
|
||||||
1 | ||||||
Умножение типов данных decimal на число Pi08.09.2013, 18:09. Показов 7412. Ответов 7
Метки нет (Все метки)
Добрый день. Выполняя задание по языку C#, столкнулся с тем, что мне нужно реализовать математические операции с большими числами. MSDN и Google предложили мне для этого пользоваться типом данных decimal. Все было хорошо, пока я не столкнулся с задачей нахождения площади треугольника по двум сторонам и углу между ними.
S = 1/2 * a * b * sin(c); угол между двумя сторонами. Мой код:
Как только я не извивался, умножить decimal-число на что-то иное, кроме как на такое же число, у меня не выходит. Помимо умножения на синусы и прочую тригонометрию, все плохо с числом Pi, Exp и т.д. Кто-то может что-то подсказать? Буду благодарен.
0
|
08.09.2013, 18:09 | |
Ответы с готовыми решениями:
7
Не работает запрос с одинаковыми типами данных c# decimal, SQL Server Decimal(18,2) Внутреннее представление типов данных VB6.0. Эквиваленты типов данных VB в C++ Задано 4 матрицы. Провести сложение, умножение, умножение на число Вычислить факториал 100!, учитывая, что это число не поместится не в одном из типов данных |
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
|
|
08.09.2013, 18:12 | 2 |
decimal нужен для работы с точными цифрами, а не большими.
По теме: используйте каст, но тогда теряете пряники от высокой точности, т.к. при касте decimal в double точность потеряется.
0
|
11 / 11 / 5
Регистрация: 08.09.2013
Сообщений: 88
|
|||||||||||
08.09.2013, 18:44 [ТС] | 3 | ||||||||||
Попытка перевести значение синуса угла в decimal приводит к ошибке error CS1503: Аргумент "2": преобразование типа из "double" в "decimal" невозможно, в той же строчке кода, что я указал в ОП-посте.
Кликните здесь для просмотра всего текста
При переводе Decimal в double имею error CS0019: Оператор "*" не может применяться к операндам типа "double" и "decimal": Кликните здесь для просмотра всего текста
Как быть?
0
|
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
|
||||||
08.09.2013, 18:55 | 4 | |||||
Эта строка ничего не делает.
1
|
11 / 11 / 5
Регистрация: 08.09.2013
Сообщений: 88
|
|
08.09.2013, 19:36 [ТС] | 6 |
Все ошибки подправил, все заработало, благодарю
0
|
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
|
|
08.09.2013, 22:02 | 7 |
0
|
Администратор
|
|
09.09.2013, 13:21 | 8 |
Позор им . Для операций с большими числами используйте BigInteger из System.Numerics.dll (появилась в .NET 4.0)
0
|
09.09.2013, 13:21 | |
09.09.2013, 13:21 | |
Помогаю со студенческими работами здесь
8
Linq максимальное число decimal из таблицы Чтение и запись типов, массив типов и List<> данных в файл Тип данных Decimal Тип данных Decimal. Как использовать? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |