Проблема с float
От: Daastin  
Дата: 16.04.10 10:50
Оценка: -1 :))) :))) :))) :))) :))) :)
У меня Borland С++ Builder 5.
Не получается создать дробных чисел. Даже если написать float t = 12/5; t будет равна 2.
Везде, где пытаюсь использовать дробные числа, дробная часть просто отбрасывается.
В чем может быть проблема?
Re: Проблема с float
От: Lexxpin  
Дата: 16.04.10 10:53
Оценка:
D>У меня Borland С++ Builder 5.
D>Не получается создать дробных чисел. Даже если написать float t = 12/5; t будет равна 2.
D>Везде, где пытаюсь использовать дробные числа, дробная часть просто отбрасывается.
D>В чем может быть проблема?
в так
float t = 12/5.0

?
Re: Проблема с float
От: placement_new  
Дата: 16.04.10 10:53
Оценка:
Здравствуйте, Daastin, Вы писали:

static_cast<float>(12)/5

Проблема в том, что 12 это int
Re: Проблема с float
От: jazzer Россия Skype: enerjazzer
Дата: 16.04.10 10:55
Оценка:
Здравствуйте, Daastin, Вы писали:

D>У меня Borland С++ Builder 5.

D>Не получается создать дробных чисел. Даже если написать float t = 12/5; t будет равна 2.
D>Везде, где пытаюсь использовать дробные числа, дробная часть просто отбрасывается.
D>В чем может быть проблема?

12/5 — это целочисленное деление, и результат его тоже целочисленный, которым потом инициализируется твой флоат.
Но компилятор не смотрит, куда что присванивается, чтобы изменить смысл инициализирующего выражения (за исключением некоторых специальных случаев типа инициализации указателей перегруженных функций)

так что тебе нужно сделать само деление нецелочисленным — а для этого нужно сделать нецелочисленным один (или оба) из аргументов: "12./5" либо "12/5." либо "12./5.".
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Проблема с float
От: Daastin  
Дата: 16.04.10 11:02
Оценка:
Ясно, все работает.

Спасибо всем за помощь.
Re: Проблема с float
От: vpchelko  
Дата: 16.04.10 11:16
Оценка:
Здравствуйте, Daastin, Вы писали:

D>У меня Borland С++ Builder 5.

D>Не получается создать дробных чисел. Даже если написать float t = 12/5; t будет равна 2.
D>Везде, где пытаюсь использовать дробные числа, дробная часть просто отбрасывается.
D>В чем может быть проблема?

float t = 12./5.; //?
Сало Украине, Героям Сала
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.