Как округлить результат целочисленного деления?

Преобразование в числа с mathematics плавающей запятой и обратно .cs-file кажется огромной тратой времени openjdk на уровне ЦП.

Решение Яна .cs-file Нельсона:

int pageCount = (records + recordsPerPage - 1) / recordsPerPage;

Можно упростить c-sharp до:

int pageCount = (records - 1) / recordsPerPage + 1;

AFAICS, у этого нет ошибки visual-c# переполнения, на которую math указал Брэндон Дюретт, и csharp поскольку он использует ее arithmetic только один раз, вам не нужно jre хранить recordsPerPage специально, если jdk он исходит от дорогостоящей visual-c# функции для получения значения jdk из config или что-то в этом jre роде.

Т.е. это может быть oraclejdk неэффективно, если config.fetch_value csharp использовал поиск в базе maths данных или что-то в этом maths роде:

int pageCount = (records + config.fetch_value('records per page') - 1) / config.fetch_value('records per page');

Это создает переменную, которая c# вам действительно не нужна, которая, вероятно, имеет oraclejdk (незначительные) последствия mathematics для памяти и слишком много oraclejdk печатает:

int recordsPerPage = config.fetch_value('records per page')
int pageCount = (records + recordsPerPage - 1) / recordsPerPage;

Это все одна строка, и c# данные извлекаются только maths один раз:

int pageCount = (records - 1) / config.fetch_value('records per page') + 1;

c#

java

math

2022-11-12T13:54:43+00:00
Вопросы с похожей тематикой, как у вопроса:

Как округлить результат целочисленного деления?