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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> из double в int 
:(
    Опции темы
Wanderer2019
Дата 1.5.2005, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

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



срочно нужна помощь!!!!!!! как перевести из double В INT на C шарпе...
что то типа (int)double не работает!!!!
PM ICQ MSN   Вверх
alir
Дата 1.5.2005, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 383
Регистрация: 19.3.2005

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



Цитата
как перевести из double В INT на C шарпе...
что то типа (int)double не работает!!!!

Почему не работает? Например:
Код

int a;
double c = 3.11;
a = (int)c;
Console.WriteLine(a);

Корректно выводит "3".
PM MAIL ICQ   Вверх
Kurt
Дата 1.5.2005, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


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

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



alir
Смотря как понимать слова
Цитата(Wanderer2019)
перевести из double В INT на C шарпе

Ведь твой код и при
Код
double c = 3.6;

выдаст "3". Что, если понимать вышеуказанное как "округлить", не соответствует действительности.
Если речь идет об округлении до целых, то корректнее было бы написать так:
Код
a = (int)Math.Round(c);


P.S. Однако, ввиду некорректности вопроса нельзя сказать, какой вариант является верным. smile


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
-ser-
Дата 2.5.2005, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

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



это все старые Си-шные варианты, которыми и я по привычке пользуюсь. наверно более изящно было бы использовать
Код

Convert.ToInt32( d ) 

зачем-то же мелкие его создали. так что, господа, приучайтесь к аристократизму.


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
Gazon
Дата 2.5.2005, 04:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 9.1.2005

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



Цитата(ser @ 2.5.2005, 03:47)
это все старые Си-шные варианты, которыми и я по привычке пользуюсь. наверно более изящно было бы использовать
Код

Convert.ToInt32( d ) 

зачем-то же мелкие его создали. так что, господа, приучайтесь к аристократизму.

Вот исходник этого метода:
Код

public static int ToInt32(double value)
{
      if (value >= 0)
      {
            if (value >= 2147483647.5)
            {
                  goto Label_007A;
            }
            int num1 = (int) value;
            double num2 = value - num1;
            if ((num2 > 0.5) || ((num2 == 0.5) && ((num1 & 1) != 0)))
            {
                  num1++;
            }
            return num1;
      }
      if (value >= -2147483648.5)
      {
            int num3 = (int) value;
            double num4 = value - num3;
            if ((num4 < -0.5) || ((num4 == -0.5) && ((num3 & 1) != 0)))
            {
                  num3--;
            }
            return num3;
      }
Label_007A:
      throw new OverflowException(Environment.GetResourceString("Overflow_Int32"));
}

Видно, что в нем точно так же происходит приведение типа к int.

Это сообщение отредактировал(а) Gazon - 2.5.2005, 04:10
--------------------
Чем больше узнаешь, тем больше не знаешь, но до истины всегда можно добраться.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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