Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
32 / 32 / 9
Регистрация: 02.09.2009
Сообщений: 64
1

глюк

23.04.2011, 20:29. Показов 742. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Заметил глюк один. вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
 
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            for (double i = 0; i < 20; i += 0.1)
            {
                Console.WriteLine(i);
            }
 
            Console.ReadKey(true);
        }
    }
}
Глюк на скрине. и как это понимать?
Миниатюры
глюк  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2011, 20:29
Ответы с готовыми решениями:

Интересный глюк. Или не глюк? Смена дефолтного пути
Вкратце объясняю: Есть приложение, которое подключается к БД Access. Путь к файлу БД в строке...

Глюк в параметрах
Console.WriteLine(&quot;{0},{1}&quot;, i, &quot;okay&quot;); насколько знаю запятая это разделитель параметров,...

Глюк с dateTimePicker1
Добрый день! Помогите плз с такой проблемой dateTimePicker1 создан для фильтра данных в бд. Для...

Непонятный глюк C#
Объясните пожалуйста, почему в результате выполнения нижеприведенного кода в комбобоксе Dlin в...

7
687 / 601 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
23.04.2011, 20:32 2
Странно у меня то же самое))))
0
32 / 32 / 9
Регистрация: 02.09.2009
Сообщений: 64
23.04.2011, 21:06  [ТС] 3
а если цикл for заменить на while и тип double на float то вообще страсти получаются)
0
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
23.04.2011, 21:11 4
Это не глюк. Вот объяснение, ну или информация для поиска в Google.
2
32 / 32 / 9
Регистрация: 02.09.2009
Сообщений: 64
23.04.2011, 21:18  [ТС] 5
прочитал, вроде понятно. но не понятно как правильно записать тогда. использовать тип Decimal?
0
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
23.04.2011, 21:25 6
nfsk_hedgehog, да. Такие числа получаются ввиду их округления (ну и представления в памяти), а т.к. decimal может хранить числа значительно более точные, то и шанс получения таких чисел существенно уменьшается.
C#
1
2
for (decimal i = 0M; i < 20M; i += 0.1M)
    Console.WriteLine(i);
0
60 / 60 / 13
Регистрация: 23.04.2011
Сообщений: 110
23.04.2011, 21:31 7
можно форматировать вывод:

C#
1
2
3
4
for (double i = 0; i < 20; i += 0.1)
{
     Console.WriteLine("{0:0.0}",i);
}
что поделать: компьютер работает только с дискретными конечными объектами...
0
637 / 498 / 77
Регистрация: 28.07.2010
Сообщений: 895
23.04.2011, 21:43 8
Это НЕ баг! Вот почитайте про IEEE
1
23.04.2011, 21:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2011, 21:43
Помогаю со студенческими работами здесь

Глюк List, ссылка
Объясните пожалуйста следующий эффект(ссылки) public class PointClass { ...

Глюк массива List<T>
Здравствуйте, все! Написал приложение, в котором много и много раз использую массив типа list&lt;T&gt; и...

Глюк с System.Configuration
Начал изучать C#. Пробую работать с &quot;app.config&quot;. Примеров море, но у меня не работают. Пишу:...

Еще один глюк C#
Есть сумма процентов, которая не должна превышать 100 %. Разница между 100 % и суммой процентов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru