Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> if (переменная==целое число), то, help me 
:(
    Опции темы
Oxy
Дата 22.12.2009, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 70
Регистрация: 20.9.2009

Репутация: 1
Всего: 1



Код

for (int i = 0; i < 10 ++i) {
    for (double j = i; j < i+1; j += 0.1)  {
      // код
    }

    // тут код для целого числа
}


ещё вариант smile 
PM MAIL WWW   Вверх
tol05
Дата 22.12.2009, 23:43 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



почему никто кроме меня не обрабатывает ошибки округления? 
)) 
+0.1 практически через раз дает 0.99999999997  или 3.99999999989 и т.п.


Это сообщение отредактировал(а) tol05 - 22.12.2009, 23:46


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Heinzz
Дата 23.12.2009, 17:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

Репутация: 5
Всего: 9



Цитата(tol05 @  22.12.2009,  23:43 Найти цитируемый пост)
почему никто кроме меня не обрабатывает ошибки округления? 
)) 
+0.1 практически через раз дает 0.99999999997  или 3.99999999989 и т.п.


вот это и главное! Все методы верны теоретически, но только если компьютер округляет верно, а это он делать никогда не будет. 
Я уже писал что нужно определиться с точностью сравнения.

Код

 for (double i = 0; i < 5; i += 0.1)
            {
                if (Math.Round(i, 2) == Math.Round(i,0))
                {
                    Console.WriteLine(i);
                }
            }

этот код работает

Это сообщение отредактировал(а) Heinzz - 23.12.2009, 17:39


--------------------
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0664 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.