Управление форматированием вывода при вводе данных - C#
Формулировка задачи:
Вот такой код , ведется диалог с пользователем , пользователь вводит цифры
Вот такая часть кода не позволяет управлять форматированием вывода данных, например сдвинуть значение вправо, разделить вводимое число по знакам , например
Для того, чтобы ввести дробное число требуется вводить "
Листинг программы
- static void Main(string[] args)
- {
- Console.Write("Введите сумму вклада : = ");
- decimal amountOfDeposit = decimal.Parse(Console.ReadLine());
- Console.Write("\nВведите процентную ставку\n по вкладу (%) (1,2 ...13,4 и т.д :) = ");
- decimal rateOfInterest = decimal.Parse(Console.ReadLine());
- Console.Write("\nВведите срок вклада (количество дней): days = ");
- decimal days = decimal.Parse(Console.ReadLine());
- Console.Write("\nВведите количество дней в году: numOfDaysYear = ");
- decimal numOfDaysYear = decimal.Parse(Console.ReadLine());
- decimal sumPersent = (amountOfDeposit * rateOfInterest * days) / (numOfDaysYear * 100);
- NumberFormatInfo formatInfo = new NumberFormatInfo(); // создаем объект (using System.Globalization; - пространство имен )
- formatInfo.CurrencySymbol = "руб."; // задаем символ для валюты (можно изменять по желанию)
- formatInfo.CurrencyPositivePattern = 3; // способ расположения символа (может принимать значения от 0 до 3)
- Console.WriteLine(String.Format(formatInfo, "\n Через {0,2} дней,\n к вашему вкладу начислят сумму : {1,25:C2}\n", numOfDaysYear, sumPersent));// используем String.Format, потому что он позволяет применить наш формат при выводе
- Console.ReadLine();
- }
100000
записать как100 000
Листинг программы
- Console.Write("Введите сумму вклада : = ");
- decimal amountOfDeposit = decimal.Parse(Console.ReadLine());
,
" , точка не воспринимается почему-то (таким образом работа на правом цифровом блоке клавиатуры - неудобна, там точка не воспринимается как разделитель дробной части) Подскажите пожалуйста как можно решить данные вопросы ? Спасибо.Решение задачи: «Управление форматированием вывода при вводе данных»
textual
Листинг программы
- using System;
- class Program
- {
- static void Main()
- {
- ConsoleKeyInfo cki = new ConsoleKeyInfo();
- string s="";
- for (int i = 1; (cki = Console.ReadKey(true)).Key != ConsoleKey.Enter;)
- {
- if (cki.Key == ConsoleKey.Backspace && s.Length > 0)
- {
- s = s.Substring(0, s.Length - 1);
- Console.Write("\b");
- i--;
- }
- if(char.IsDigit(cki.KeyChar))
- {
- s += cki.KeyChar;
- Console.Write(cki.KeyChar);
- if (i % 3 == 0) Console.Write(" ");
- i++;
- }
- }
- int num = int.Parse(s);
- Console.WriteLine("\n{0}",num);
- Console.ReadKey(true);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д