C#:分页,Math.Ceiling

标签 c# .net rounding

我正在创建一些分页,但遇到了问题。

如果我有一个数字 12,我想将它除以 5(5 是我希望在页面上显示的结果数),我该如何正确地将它四舍五入?这不起作用:

int total = 12;
int pages = Math.Ceiling(12 / 5);
//pages = 2.4... but I need it to be 3

最佳答案

即使您的代码应该可以工作,但是 Math.Round 是错误的,您可以试试这个:

int pages = (total + pageSize - 1)/pageSize;

这应该与 Math.Ceiling 相同,只是您始终处理 int 而不是 double 作为 >Math.Ceiling 返回。

编辑:要让您的代码正常工作,您可以尝试:

int pages = (int)Math.Ceiling((double)12/(double)5);

但是你应该使用第一个例子。

关于C#:分页,Math.Ceiling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4566832/

相关文章:

c# - using语句中TransactionScope在哪里完成?

c# - 找不到对 System.Runtime.Serialization.Formatters.Binary 的引用

java - Java8 中的 RoundingMode.HALF_DOWN 问题

c# - 编写 CRM 2011 插件的最佳设计模式

c# - 如何在 C# winform 应用程序中模拟 ModelState.IsValid 以进行任何模型验证

c# - 错误 CS1503 - 无法从 Microsoft.Extensions.Configuration.IConfigurationSection 转换为 System.Action<>

c# - 从CSharp/.net使用gmail SMTP发送邮件

c# - 多页 PrintDocument 中的不同方向(如何)

javascript - JS : inconsistent and unexpected behaivior 中的舍入

floating-point - 为什么从 0.0-1.0 区间转换时需要将 RGB 值乘以 256 而不是 255?