Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Aerosoul
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 18
#1

Не работает округление double переменных

08.06.2016, 23:52. Просмотров 263. Ответов 2
Метки нет (Все метки)

работаю с 2я векторами, вычисляю угол между ними в радианах и перевожу в градусы. Надо брать arccos, пока беру разные векторы - все работает, если беру одинаковые например v1 = (1, 1, 1) и v2 = (1, 1, 1), то по вычислению получается мелкое число но больше 1 или -1, потому Arccos возвращает NaN. Написал условие округления - но оно почему то не работает. Заранее благодарен откликнувшимся гуру кода
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 vScalar = (v1.X * v2.X + v1.Y * v2.Y + v1.Z * v2.Z);
            
            if (vScalar > 1.0)
            {
                Math.Truncate(vScalar);
            }
            else if (vScalar < -1.0)
            {
                Math.Truncate(vScalar);
            }
            
            v1Length = Math.Sqrt(v1.X * v1.X + v1.Y * v1.Y + v1.Z * v1.Z);
            v2Length = Math.Sqrt(v2.X * v2.X + v2.Y * v2.Y + v2.Z * v2.Z);
            double j = vScalar / (v1Length * v2Length);
 
            cAngle = Math.Acos(j);
            Angle = (cAngle*(180/Math.PI));
0
Миниатюры
Не работает округление double переменных  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2016, 23:52
Ответы с готовыми решениями:

Округление переменных типа double, соблюдая определенное правило
Всем доброго времени суток. У меня программа выполняет очень много...

Округление double
Необходимо сохранить полное соответствие double с разрядами, но дойдя до...

Округление до сотых в double
А как получить строку, равную округленного до сотого double?

Округление double до целых
Здравствуйте, у меня возник вопрос как округлить число double до целых, что бы...

Округление double до 9 знака
Здравствуйте, форумчане. Появилась проблема при округлении результата при...

2
Даценд
Модератор
Эксперт .NET
4099 / 3918 / 2593
Регистрация: 20.04.2015
Сообщений: 7,108
09.06.2016, 00:02 #2
Aerosoul,
C#
1
vScalar = Math.Truncate(vScalar);
1
Aerosoul
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 18
09.06.2016, 00:05  [ТС] #3
Даже неловко, что упустил такую мелочь...
Спасибо большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2016, 00:05

Максимальное значение переменных double
Здравствуйте, есть 5 переменных double, как из них вычислить самое...

Перегрузка методов и определение типа переменных (int, double, string)
Идея в том, чтобы определить, что ввел пользователь: тип double, integer или...

Перевод из int в double не работает
фраза double x_n = (int)x; у меня не работает как написать правильно?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru