Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2009, 21:51   #1
Маринка777
Пользователь
 
Регистрация: 29.11.2009
Сообщений: 12
По умолчанию Операции над строками

Проверить, является ли заданная строка правильной записью константы с плавающей точкой.

как я понимаю, тут надо создать функцию, выполняющую операцию над данными типа string...?
помогите пож-та
Маринка777 вне форума Ответить с цитированием
Старый 29.11.2009, 22:01   #2
Geniy00
 
Регистрация: 27.06.2009
Сообщений: 6
По умолчанию

приведи пример что с чем надо сравнить.
Geniy00 вне форума Ответить с цитированием
Старый 29.11.2009, 22:10   #3
Маринка777
Пользователь
 
Регистрация: 29.11.2009
Сообщений: 12
По умолчанию

как я понимаю, в самом простом варианте программа должна проверять введенное значение на тип double...
т.е. для тебя есть два условия ложной строки, либо что-то попалось непохожее на цифру кроме точки, либо попалось больше одной точки, например 11111111й222.1 или 11123.123123.33...

просто строка может быть очень длинной, настолько, что в даубл не поместится, а тебе нужно всё равно проверить, является ли она числом с плавующей точкой
Маринка777 вне форума Ответить с цитированием
Старый 29.11.2009, 22:28   #4
Geniy00
 
Регистрация: 27.06.2009
Сообщений: 6
По умолчанию

Код:
class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Input string: ");
            string str = Console.ReadLine();

            switch (Check(str))
            {
                case 1: Console.WriteLine("Number have more 1 dot"); break;
                case 2: Console.WriteLine("Number have not digital"); break;
                case 3: Console.WriteLine("All ok!"); break;
            }

            str = Console.ReadLine();

        }

        static int Check(string str)
        {
            int dot = 0;

            int min = (int)'0';
            int max = (int)'9';

            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] == '.')
                {
                    dot++;
                    if (dot > 1) return 1;
                }
                else
                if (str[i] < min || str[i] > max) return 2;

            }

            return 3;
        }
    }
Geniy00 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции над множествами britva666 Помощь студентам 2 23.06.2009 20:33
Операции над повторяющими значениями Iskin Microsoft Office Excel 7 22.04.2009 14:45
Простейщие операции над массивами ZloyGenii2008 Паскаль, Turbo Pascal, PascalABC.NET 0 27.12.2008 14:24
Операции над данными yulia БД в Delphi 24 21.05.2007 01:18
операции над полями и строками zetrix Microsoft Office Excel 0 31.10.2006 08:08