1 / 2 = 0 ... ???

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

1 / 2 = 0 ... ???

Сообщение Vit 13 июл 2011, 00:20

print(1/2); результат 0 ... как это понимать ?

print(1*0.5); результат 0.5 т.е правильный

это какие то траблы с делением ? дробную часть не показывает ...
экспирименты дальше:

Синтаксис:
Используется javascript
var ggg: float = 3/2;
print(ggg);

результат 1 (не правильно)

Синтаксис:
Используется javascript
var ggg: float = 3;
print(ggg/2);


результат 1.5 (правильно)

как всё это понимать ?
Vit
UNец
 
Сообщения: 23
Зарегистрирован: 10 июл 2011, 01:03

Re: 1 / 2 = 0 ... ???

Сообщение DbIMok 13 июл 2011, 01:27

Vit писал(а):print(1/2); результат 0

целое с целым получили целое
Vit писал(а):print(1*0.5); результат 0.5

целое с вещественным получили вещественное
и т.д. в общем, если вам нужно число с плавающей точкой, пишите эту точку. например 1.0
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: 1 / 2 = 0 ... ???

Сообщение DbIMok 13 июл 2011, 01:56

да, добро пожаловать в увлекательный мир (js)
кстати, в (c#) никто не мешает:
Синтаксис:
Используется csharp
        var t = 0.95;
        print(t);
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: 1 / 2 = 0 ... ???

Сообщение seaman 13 июл 2011, 06:29

В C# это: var t = 0.95; определение не float, а double - числа с двойной точночтью.
Так:
var t = 0.95;
float b = t;
должно дать ошибку - нужно прямое приведение типа double к float
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: 1 / 2 = 0 ... ???

Сообщение Zaicheg 13 июл 2011, 10:43

seaman писал(а):должно дать ошибку

Ага. Cannot implicitly convert type `double' to `float'
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: 1 / 2 = 0 ... ???

Сообщение pestantium 13 июл 2011, 10:50

приведение типов
Синтаксис:
Используется csharp
print( (float)1/2 );

или явно
Синтаксис:
Используется csharp
print(1.0f / 2.0f);
Созданные игры: MemoUp, Stop Robots, Hippo Gum, Rainbow Team
Аватара пользователя
pestantium
UNITрон
 
Сообщения: 269
Зарегистрирован: 23 сен 2010, 19:30
Откуда: Украина, Кировоград
  • ICQ


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 14