Работа с цифрами числа

Пусть задано некоторое положительное вещественное число. Требуется заменить в нём количество единиц на 0. Т.е., из числа, например, 123.456 получить число 120.456.

Текст программы:

static void Main(string[] args)

{

Console.Write("Введи вещественное число: ");

double a = double.Parse(Console.ReadLine());

int aa = (int)a; // откинули дробную часть

int k = aa % 10; // выделили последнюю цифру

a = a - k; // заменили число единиц нулём

Console.WriteLine("Результат обработки: {0}",a);

Console.ReadLine();

}

Запуск даёт

Попробуем, по аналогии, заменить цифрой 5 число сотен:

static void Main(string[] args)

{

Console.Write("Введи вещественное число: ");

double a = double.Parse(Console.ReadLine());

int aa = (int)a; // откинули дробную часть

int k = aa /100 % 10; // выделили число сотен

a = a - k * 100 + 500; // заменили число сотен пятёркой

Console.WriteLine("Результат обработки: {0}",a);

Console.ReadLine();

}

Если требуется занулить цифру справа от запятой (число десятых), то изменений в программе будет больше:

static void Main(string[] args)

{

Console.Write("Введи вещественное число: ");

double a = double.Parse(Console.ReadLine());

int aa = (int)(a*10); // откинули цифры после десятых

int k = aa % 10; // выделили число десятых

a = a - k / 10.0; // заменили число десятых нулём

Console.WriteLine("Результат обработки: {0}",a);

Console.ReadLine();

}

В данном примере значения промежуточных переменных будут:

aa=1234 k=4


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: