Исправление LINUX-ORG-RU, (текущая версия) :
Используй floor()
и ceil()
при приведении к int
если бы ты выводил как "%.0f"
и "%.0lf"
всё было бы точно. Считается всё однозначно (ну как однозначно точность то плавающая), а вот приводится так себе. Но да, эта боль. Но эта боль у всех. FPU
в железе, хотя некоторые языки результат ещё дополнительно программно подокругляют вроде. С одной стороны удобно, с другой ещё больший пердолинг в случае чего.
Исходная версия LINUX-ORG-RU, :
Используй floor()
и ceil()
при приведении к int
если бы ты выводил как "%0.f"
и "%0.lf"
всё было бы точно. Считается всё однозначно (ну как однозначно точность то плавающая), а вот приводится так себе. Но да, эта боль. Но эта боль у всех. FPU
в железе, хотя некоторые языки результат ещё дополнительно программно подокругляют вроде. С одной стороны удобно, с другой ещё больший пердолинг в случае чего.