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

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

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

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

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

textual
Листинг программы
  1.         // = x/y округление до n знаков, дробная часть выводтся групами по g цифр с разделителями "пробел"
  2.         // если g <=0 то разделителей нет
  3.         static public string delenieDoN(int x, int y, int n, int g = -1) {
  4.             string rez;
  5.             int r;
  6.             int o;
  7.             int py;
  8.  
  9.             o = Math.Abs(x % y);
  10.             py = Math.Abs(y);
  11.  
  12.             //целая часть
  13.             r = x / y;
  14.             int[] a = new int[n];
  15.  
  16.             //часть после точки
  17.             if (n > 0) {
  18.                 for (int i = 0; i < n ; i++) {
  19.                     a[i] = o * 10 / py;
  20.                     o = o * 10 % py;
  21.                 }
  22.             }
  23.  
  24.             //округление
  25.             if ((o * 10 / py) > 4) {
  26.                 int j = n - 1;
  27.                 a[j]++;
  28.                 while ((j>0)&&(a[j]>9)){
  29.                     a[j] = 0;
  30.                     j--;
  31.                     a[j]++;
  32.                 }
  33.             }
  34.             if (a[0]>9){
  35.                 a[0]=0;
  36.                 if (r>0) {
  37.                     r++;
  38.                 }
  39.                 else{
  40.                     r--;
  41.                 }
  42.             }
  43.  
  44.             //строка
  45.             rez = "" + r;
  46.  
  47.             if (n > 0) {
  48.                 rez += ".";
  49.                 for (int i = 0; i < n; i++) {
  50.                     // вставка разделителя групп
  51.                     if ((g > 0) && (i > 0) && (i % g == 0)) {
  52.                         rez += " ";
  53.                     }
  54.                     rez += a[i];
  55.                 }
  56.             }
  57.             return rez;
  58.         }

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


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

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

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы