Задать вопрос
@soja

Как перевести biginteger в integer?

Дали задание доработать свою программу и нужно, чтобы она работала с вещественными числа. Надо перевести из double рациональные и потом уже по выбору применять к ним арифметику.
Предложили делать это через Biginteger.

P.S уже решили
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
\
ach, azn, bch, bzn это переменные для записи числителя и знаменателя дроби.

Зачем писать такой комментарий, если сразу можно переменные назвать нормально?

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

А для кого придуман InvariantCulture и второй аргумент у всяких double.Parse?

Это что за енам такой интересный?
И зачем тогда передавать в метод целый TextBox, если от него нужен только Text?
double value = n_ == 1 ? double.Parse(tf.Text) : double.Parse(ts.Text);


Вот это вообще что такое?
Func<BigInteger> eulerGCD = () =>
                {
                    var m = first;
                    var n = second;

                    while (true)
                    {
                        var r = m % n;
                        if (r == 0)
                        {
                            break;
                        }
                        m = n;
                        n = r;
                    }
                    return n;
                };

И снова енам вступает в бой:
if (n_ == 1)
                {
                    ach = (int)(first & 0xFFF); azn = (int)(second & 0xFFF);
                }
                if(n_ == 2)
                {
                    bch = (int)(first); bzn = (int)(second);
                }


Предлагаю для начала разбить этот метод на более-менее самостоятельные части и протестировать их все по отдельности. Тогда найдёшь, в чём дело.

Разбираться в таком г-коде нет никакого желания.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы