Округление чисел - C# (181712)

Узнай цену своей работы

Формулировка задачи:

Всем привет, стоит такая задача.. У нас есть 3 числа, допустим 345 78 25 нам нужно разделить первое на второе и округлить до точности третьего, т.е (345/25) и округляем до 25 знаков после запятой ответ должен получиться: 4.4230769230769230769230769 Какие есть варианты)?

Решение задачи: «Округление чисел»

textual
Листинг программы
        // = x/y округление до n знаков, дробная часть выводтся групами по g цифр с разделителями "пробел"
        // если g <=0 то разделителей нет
        static public string delenieDoN(int x, int y, int n, int g = -1) {
            string rez;
            int r;
            int o;
            int py;
 
            o = Math.Abs(x % y);
            py = Math.Abs(y);
 
            //целая часть
            r = x / y;
            int[] a = new int[n];
 
            //часть после точки
            if (n > 0) {
                for (int i = 0; i < n ; i++) {
                    a[i] = o * 10 / py;
                    o = o * 10 % py;
                }
            }
 
            //округление
            if ((o * 10 / py) > 4) {
                int j = n - 1;
                a[j]++;
                while ((j>0)&&(a[j]>9)){
                    a[j] = 0;
                    j--;
                    a[j]++;
                }
            }
            if (a[0]>9){
                a[0]=0;
                if (r>0) {
                    r++;
                }
                else{
                    r--;
                }
            }
 
            //строка
            rez = "" + r;
 
            if (n > 0) {
                rez += ".";
                for (int i = 0; i < n; i++) {
                    // вставка разделителя групп
                    if ((g > 0) && (i > 0) && (i % g == 0)) {
                        rez += " ";
                    }
                    rez += a[i];
                }
            }
            return rez;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы