Как изменить тип одной или нескольких переменных? (например с int на float) С++

Принятый ответ

Достаточно сконвертить только одну правильную переменную во время операции, дальше уже пойдет приоритет типов операторов. Т.е.
float r1 = 10 / 3; // 3
float r2 = (float)10 / 3; // 3.33
float r3 = 10.0f / 3; // 3.33
float r4 = 10 / 3.0f; // 3.33
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
14
10 лет назад
Отредактирован ZregerZ
0
Оператор приведения
Нда, всё равно не совсем то, почитай про преобразования типов в выражениях и о явном приведении типов.
(Например Шилдт Полный справочник по С++ 4-е издание конец 2й главы)
0
28
10 лет назад
0
first = (float)(op1_1+(op1_2+op1_3/12)/20);
так короче
0
14
10 лет назад
0
nvc123, совершенно бессмысленное преобразование.
0
28
10 лет назад
Отредактирован nvc123
0
ZregerZ, и чем оно бессмысленно?
оно ничем не отличается от того что написал ген
просто короче
0
24
10 лет назад
0
И тот и другой вариант дадут жару, если операнды целочисленные - деление может пойти совсем не так, как хотелось бы.
0
9
10 лет назад
Отредактирован AsagiriGen
0
И тот и другой вариант дадут жару, если операнды целочисленные - деление может пойти совсем не так, как хотелось бы.
Понял тебя, я немного не туда завернул, подумав, что ему главное получить float-ский результат.
Автор, ну тогда ничего не остается кроме явного приведения каждой переменной.
1
29
10 лет назад
Отредактирован alexprey
1
Достаточно сконвертить только одну правильную переменную во время операции, дальше уже пойдет приоритет типов операторов. Т.е.
float r1 = 10 / 3; // 3
float r2 = (float)10 / 3; // 3.33
float r3 = 10.0f / 3; // 3.33
float r4 = 10 / 3.0f; // 3.33
Принятый ответ
0
24
10 лет назад
0
alexprey, одну, но только правильно выбранную: float x = (float)5 + 10/3; не даст желаемого результата, если я ничего не путаю.
0
29
10 лет назад
0
prog, да точно, я хотел сказать, что надо правильную выбрать
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.