Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python x / 100 * x = x.0 Почему? как исправить?

Seruios Гуру (2974), на голосовании 4 года назад
Переменная total = 100000
total2 = total / 100 * 75 = 75000.0 почему .0 Как это пофиксить?
Дополнен 4 года назад
str(total2)[:-2] пробовал так но это ппц
Дополнен 4 года назад
А нашел решение, использовать вместо / - // Спасибо.
Голосование за лучший ответ
ZaZa Гуру (3253) 4 года назад
еще можно было сказать, что total2=int()
ибо та десятичная часть из-за того, что он стал float после деления
// - деление которое выдает тебе целую часть
Aleks Nots Просветленный (22647) 4 года назад
"нашел решение, использовать вместо / - // "

Хотя не зная задачи, нельзя утверждать наверняка.
Но почти наверняка, это решение ошибочное.
Так как вместо округления, отбрасывает дробную часть.
Поэтому в половине случаев, результат будет на единичку меньше правильного.
Metotron Искусственный Интеллект (114872) 4 года назад
А если ты бы считал 2 / 7, разве ты ожидал бы увидеть не дробный результат? То, что после запятой находятся нули, не значит, что он сам должен стать целым числом. Ты можешь написать, что если int(value) == value, то value = int(value), но зачем?
Александр Волков Ученик (40) 4 года назад
ты знаешь, чем оличается "int"от"float"
Похожие вопросы