Я вас слышу.Меня ужасно раздражает неточность деления.На днях я сделал:
Console.WriteLine(1.0 / 3.0);
, и вместо правильного ответа 0 ...
я получил 0,333333333333333, возможно, теперь вы видите, в чем проблема. Math.Pi не равно пи больше 1,0 / 3,0 равно одной трети.Оба они отличаются от истинного значения на несколько сотен квадриллионов, и поэтому любые вычисления, которые вы выполняете с помощью Math.Pi или 1.0 / 3.0, также будут отклоняться на несколько сотен квадриллионов, включая принятие синуса.
Если вам не нравится, что приблизительная арифметика равна приблизительная , тогда не используйте приблизительную арифметику.Используйте точную арифметику.Я использовал Ватерлоо Maple, когда мне нужна была точная арифметика;возможно, вам стоит купить копию этого.