Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.50 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Округление_числа
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.  
  10.             //Данное число
  11.             Console.Write("Введите число для округления: ");
  12.             double num = Convert.ToDouble(Console.ReadLine());
  13.  
  14.             //Перевод числа в массив
  15.             char[] arr = num.ToString().ToCharArray();
  16.             Console.WriteLine("Нулевой индекс массива: " + arr[0]);
  17.  
  18.             //Целая часть
  19.             int num1 = (int)(num);
  20.             string num2 = Convert.ToString(num1);
  21.             //Длина целой части
  22.             int num3 = num2.Length;
  23.             Console.WriteLine("Размер целой части: " + num3);
  24.  
  25.             //До какой цифры после запятой
  26.             Console.Write("Введите до какой цифры нужно округлить число: ");
  27.             int n0 = Convert.ToInt32(Console.ReadLine());
  28.             int n = n0 + 1 + num3 - 1; //до какой цифры + длина целой части + запятая - начинается с нулевого символа
  29.             Console.WriteLine("По индекс: " + n);
  30.  
  31.             //slovo1 - это число до окугляющей цифры
  32.             string slovo1 = "";
  33.             for (int i = 0; i < n; ++i) //n - 1
  34.             {
  35.                 slovo1 += arr[i];
  36.             }
  37.             Console.WriteLine("Число до окугляющей цифры: " + slovo1);
  38.  
  39.             if (n0 == 0)
  40.             {
  41.  
  42.                 //Число для проверки
  43.                 var ocrug1 = arr[n + 1];
  44.                 int ocrug11 = Convert.ToInt32(ocrug1.ToString());
  45.                 Console.WriteLine("Проверка по числу: " + ocrug11);
  46.  
  47.                 //Число для округления
  48.                 var ocrug2 = arr[n - 1];
  49.                 int ocrug22 = Convert.ToInt32(ocrug2.ToString());
  50.                 Console.WriteLine("Число для округления: " + ocrug22);
  51.  
  52.                 //Код для округления!
  53.  
  54.                 if (ocrug11 >= 5)
  55.                 {
  56.                     ocrug22 += 1;
  57.                     Console.WriteLine("Цифра для добавления к slovo1: " + ocrug22);
  58.                 }
  59.                 else
  60.                 {
  61.                     ocrug22 += 0;
  62.                 }
  63.  
  64.                 //slovo1 - это число до окугляющей цифры
  65.                 string slovo2 = "";
  66.                 for (int i = 0; i < n - 1; ++i)
  67.                 {
  68.                     slovo2 += arr[i];
  69.                 }
  70.                 Console.WriteLine("Число до окугляющей цифры: " + slovo2);
  71.  
  72.                 string slovo0 = slovo2 + Convert.ToString(ocrug22);
  73.                 Console.WriteLine("Полученное число: " + slovo0);
  74.             }
  75.             else
  76.             {
  77.                 //Число для проверки
  78.                 var ocrug1 = arr[n + 1];
  79.                 int ocrug11 = Convert.ToInt32(ocrug1.ToString());
  80.                 Console.WriteLine("Проверка по числу: " + ocrug11);
  81.  
  82.                 //Число для округления
  83.                 var ocrug2 = arr[n];
  84.                 int ocrug22 = Convert.ToInt32(ocrug2.ToString());
  85.                 Console.WriteLine("Число для округления: " + ocrug22);
  86.  
  87.                 //Код для округления!
  88.  
  89.                 if (ocrug11 > 5)
  90.                 {
  91.                     ocrug22 += 1;
  92.                     Console.WriteLine("Цифра для добавления к slovo1: " + ocrug22);
  93.                 }
  94.                 else if (ocrug11 < 5)
  95.                 {
  96.                     ocrug22 += 0;
  97.                 }
  98.                 else
  99.                 {
  100.                     if (ocrug22 % 2 == 0)
  101.                     {
  102.                         ocrug22 += 0;
  103.                     }
  104.                     else
  105.                     {
  106.                         ocrug22 += 1;
  107.                     }
  108.                 }
  109.  
  110.                 string slovo0 = slovo1 + Convert.ToString(ocrug22);
  111.                 Console.WriteLine("Полученное число: " + slovo0);
  112.             }
  113.             //тестирование кода
  114.             //не работает 14,999 при 2 и 99,8 при 0 и 19,582 при 0 и т.п
  115.         }
  116.     }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement