.NET 4 中的 Math.Round() 行为[重复]

2024-04-10

可能的重复:
在 C# 中:Math.Round(2.5) 结果是 2(而不是 3)!你在开玩笑吧? https://stackoverflow.com/questions/977796/in-c-math-round2-5-result-is-2-instead-of-3-are-you-kidding-me
.Net 圆形错误 https://stackoverflow.com/questions/846911/net-round-bug

我有一个中间值(number.5),我需要指定如何舍入该值(上限值或下限值)。

我理解的行为Math.RoundMidPointRounding参数但这并不能解决我的问题:

// To Even
Console.WriteLine(Math.Round(4.4)); // 4
Console.WriteLine(Math.Round(4.5)); // 4
Console.WriteLine(Math.Round(4.6)); // 5
Console.WriteLine(Math.Round(5.5)); // 6

// AwayFromZero
Console.WriteLine(Math.Round(4.4)); // 4
Console.WriteLine(Math.Round(4.5)); // 5
Console.WriteLine(Math.Round(4.6)); // 5
Console.WriteLine(Math.Round(5.5)); // 6

// in one case I need 
Console.WriteLine(Math.Round(4.4)); // 4
Console.WriteLine(Math.Round(4.5)); // 4
Console.WriteLine(Math.Round(4.6)); // 5
Console.WriteLine(Math.Round(5.5)); // 5

// another case I need
Console.WriteLine(Math.Round(4.4)); // 4
Console.WriteLine(Math.Round(4.5)); // 5
Console.WriteLine(Math.Round(4.6)); // 5
Console.WriteLine(Math.Round(5.5)); // 6

你有一个超载Math.Round从中获取枚举值MidpointRounding.

这有两个选择:

  • 至偶数(默认)也称为银行家舍入。将四舍五入到最接近的对。所以 2.5 变成 2,而 3.5 变成 4。
  • 远离零:始终将 X.5 向上舍入为 X+1;例如,2.5 变为 3。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 4 中的 Math.Round() 行为[重复] 的相关文章

  • 高级 Win32 图像文件 I/O?

    我想在 Windows C 应用程序中将图像文件读入内存 什么是一个相当简单的解决方案 也许类似于 IOS 提供的UIImage 我希望支持合理数量的文件格式 我需要为图像处理的位图提供一些低级访问权限 我在互联网上阅读了很多内容 看起来
  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • 如何自定义 DataTable 列的排序

    我需要对数据表列的值进行排序 该列包含字符串 整数或混合文本 例如 数据表列包含如下值 23 18 12 store 23 store a1 1283 25 如果我使用对值进行排序Dataview sort 方法会按此顺序产生 12 128
  • 如何从矩形点计算旋转角度?

    我有4分1 2 3 4闭合一个矩形 这些点按以下方式排列在数组中 x1 y1 x2 y2 x3 y3 x4 y4 我遇到的问题是矩形可以旋转一定角度 如何计算原始点 灰色轮廓 和角度 我试图在 javascript css3 transfo
  • 如何知道并加载特定文件夹中的所有图像?

    我有一个应用程序 C Builder 6 0 需要知道特定文件夹中的图像总数 然后我必须加载它们 在 ImageList 或 ComboBoxEx 中 或任何其他控件中 我怎样才能做到这一点 我知道如何在控件中加载图像 或保存在 TList
  • 如何在 C# 事件中区分更改是由代码还是由用户进行?

    我有一个简单的TextBox一开始是空的 我有一个简单的事件 TextChanged 可以知道用户何时更改了其中的任何内容TextBox 但是 如果我自己在代码中对其执行任何操作 该事件就会触发 喜欢设置textbox Text Test
  • .NET 可移植类库中的 .ToShortDateString 发生了什么

    我想知道为什么没有 ToShortDateString在 NET 可移植类库中 我有 2 个项目 Silverlight 和常规 NET 类库 使用相同的代码 并且代码涉及调用 ToShortDateString on a DateTime
  • 身份未映射异常

    System Security Principal IdentityNotMappedException 无法转换部分或全部身份引用 该错误仅在应用程序注册后出现一次 当 SecurityIdentifier 无法映射时 例如 返回 Ide
  • 对数字进行向上和向下舍入 C++

    我试图让我的程序分别向上和向下舍入数字 例如 如果数字是3 6 我的程序应该四舍五入最接近的数字 4 如果该数字是3 4 它将向下舍入为 3 我尝试使用ceil库获取 3 个项目的平均值 results ceil marks1 marks2
  • Qt中正确的线程方式

    我的图像加载非常耗时 图像很大 并且在加载时也完成了一些操作 我不想阻止应用程序 GUI 我的想法是在另一个线程中加载图像 发出图像已加载的信号 然后用该图像重绘视图 我的做法 void Window loadImage ImageLoad
  • 控制台应用程序 .net Core 2.0 的配置

    在 net Core 1 中我们可以这样做 IConfiguration config new ConfigurationBuilder AddJsonFile appsettings json true true Build 这样就可以使
  • for 循环 - 没有效果的语句

    由于某种原因 我收到错误 statement with no effect关于这个声明 for j idx j lt iter j increment printf from loop idx i int idx punc ctxt j 你
  • 当格式字符串包含“{”时,String.Format 异常

    我正在使用 VSTS 2008 C Net 2 0 执行以下语句时 String Format 语句抛出 FormatException 有什么想法是错误的吗 这是获取我正在使用的 template html 的位置 我想在 templat
  • C++ Primer 5th Edition 错误 bool 值没有指定最小大小?

    bool 的最小大小不应该是 1 个字节吗 这有点学术性的东西 尽管它们会转换为数字 并且 与其他所有事物一样 它们最终将基本上由计算机内存中的数字表示 但布尔值不是数字 你的bool可以取值true 或值false 即使您确实需要至少 1
  • 编写专门用于类及其子类的函数模板

    我正在尝试编写一个函数模板 一个版本应该用于不满足另一版本标准的所有类型 当参数是给定类的基类或该类本身时 应使用另一个版本 我尝试过超载Base 但是当类派生自Base 他们使用通用的 而不是特定的 我也尝试过这种 SFINAE 方法 s
  • 删除对象时指针自动指向空

    假设我有一个对象和其他几个不同类类型的对象中的 10 个指向它的指针 如果对象被删除 这些指针必须设置为空 通常我会将对象的类与具有指向它的指针的类互连 以便它可以通知它们它正在被删除 并且它们可以将它们的指针设置为空 但这也有一个负担 即
  • Java 和 SQL Server 中的精度噩梦

    我一直在与 Java 和 SQL Server 中的精确噩梦作斗争 直到我不再知道了 就我个人而言 我理解这个问题及其根本原因 但向地球另一端的客户解释这一点是不可行的 至少对我来说 情况是这样的 我在 SQL Server 中有两列 Qt
  • 如何使用 g++ 在 c++ 20 中使用模块?

    我读了这个链接https gcc gnu org wiki cxx modules https gcc gnu org wiki cxx modules并尝试从该网站复制以下示例 我已经知道这个编译器部分支持模块系统 注 我用的是windo
  • ASP.NET Core:会话 ID 始终变化

    今天启动了一个全新的 ASP NET Core 网站 按照说明添加会话 我们在索引页上打印出会话 ID 它始终是唯一的 我认为这可能是 cookie 合规性 所以我在 Chrome 的高级设置和调试器中删除了所有 cookie 但横幅不会再
  • 当我读取 500MB FileStream 时出现 OutOfMemoryException

    我使用 Filestream 读取大文件 gt 500 MB 但出现 OutOfMemoryException 任何有关它的解决方案 我的代码是 using var fs3 new FileStream filePath2 FileMode

随机推荐

  • UML 聚合可以是双向的吗?

    我正在 Python 中实现一个具有 MVC 模式的应用程序 具有以下类定义 class Controller object def init self model view self model model self view view
  • Python:如何将数据帧字典转换为一个大数据帧,其中列名是前一个字典的键?

    所以我的数据框是由许多单独的 Excel 文件组成的 每个文件都以日期作为文件名 并在电子表格中显示当天水果的价格 因此电子表格看起来像这样 15012016 Fruit Price Orange 1 Apple 2 Pear 3 1601
  • 为什么在音频标签内使用源标签会阻止 loaddata 事件触发?

    为了更好的可访问性 我们需要第二组替代的播放 暂停控件和 在用户 Kento Nishi 的帮助下 我们成功搬离DEMO A https jsfiddle net j5oxhq38 只有 1 个音频播放控件 DEMO B https jsf
  • 在 selenium 中将页面向上滚动到顶部

    如何将网页滚动到页面顶部 我知道将页面滚动到底部是 window scrollTo 0 document body scrollHeight 就像这样可以将页面滚动到顶部吗 要滚动到页面顶部 只需滚动到0 0 window scrollTo
  • Jest + React-testing-library - 等待模拟的异步函数完成

    My componentDidMount 触发对异步函数的调用 但根据该函数的结果 它可能不会导致任何 DOM 更改 有什么方法可以等待该函数在测试中完成吗 这是一个示例 单击按钮最初被禁用 如果异步函数返回 true 则应启用单击按钮 m
  • Magento 多个 Authorize.net 网关

    我有一个用于处理信用卡付款的 CAD 和 USD 网关帐户 这两个帐户均来自支持 Authorize net API 的支付提供商 我已经使用 Magento 的内置 Authorize net 支持成功配置了一个 但是如何配置第二个 Au
  • 在终结器中抛出异常以强制执行 Dispose 调用:

    这是我认为推荐的典型 IDisposable 实现 SomeClass Dispose false public void Dispose GC SuppressFinalize this Dispose true protected vi
  • 使用 Youtube API 和 onBehalfOfContentOwner 的 CMS 频道列表

    我正在使用 Youtube Data API 进行有针对性的查询 就像这个例子 https developers google com youtube analytics v1 reference reports query 对于 MCN
  • Cassandra 备份,包括架构

    我感兴趣的备份技术有两种 a SCHEMA 备份 恢复数据库模式 添加或删除列 更改列类型 添加表等 b 数据备份 恢复数据 更新 从一个表读取到另一个表 让我通过例子来解释一下 首先 我创建实体 客户 Customer 编号 名称 11
  • 数据表:如何将类设置为表行单元格(但不是表头单元格!)

    我的桌子有一个非常漂亮的风格 抱歉 链接不再有效 我必须添加 sClass 以便新行 由 fnAddData 添加 获得正确的类 不幸的是 这破坏了我的布局 因为这些类也被添加到我的表头单元格中 抱歉 链接不再有效 如何配置 sClass
  • 为什么必须为方法引用显式指定类/对象名称?

    当我想引用当前范围内的方法时我仍然需要 指定类名 对于静态方法 或this before 操作员 例如 我需要写 import java util stream Stream public class StreamTest public s
  • 如何使用 Apache PDFBox 从 PDF 中的按钮图标提取图像?

    我想使用 java netbeans 从 pdf 中的按钮获取图像图标 并将其放在某个面板中 然而我在这里碰了砖头 我使用 PDFBox 作为我的 PDF 导出器 但我似乎理解不够 我已经成功地从表单字段中读取内容 但是只要我尝试在 PDF
  • 处理 SFSafariViewController 中的弹出窗口/选项卡

    我正在我的应用程序中实现 SoundCloud 登录流程 应用程序打开https soundcloud com connect in an SFSafariViewController with a redirect uri它使用我的应用程
  • Java 包结构中的模块与层

    我曾经把所有东西都放在这样的包中 com company app module1 com company app module2 但它使得基于包的 AOP 切入点变得困难 并导致需要 IDE 才能理解的巨大包 所以现在我意识到我需要一个更深
  • jqm 弹出窗口未打开

    我向 div 容器添加了一个弹出窗口 打开弹出窗口不起作用 这是我的容器结构 div div div style display none a class select Button a div ul ul div div
  • 为什么 Node.js 是异步的?

    实际上没有人问过这个问题 从我得到的所有 建议 以及我在这里问之前的搜索 那么为什么 Node js 是异步的呢 经过一番研究后我得出的结论是 像 PHP 和 Python 这样的语言是脚本语言 我可能对脚本语言的实际语言是错误的 而 Ja
  • auth.uid 是共享秘密吗?

    看来 当有人通过 oAuth 进行身份验证时 Firebase 会创建一个看起来像这样的 uidgoogle 111413554342829501512 例如 在 Firebase 规则中 您可以执行以下操作 读取和 或写入 read ro
  • Ember.js 在特定页面上包含外部脚本

    我试图弄清楚如何包含外部 javascript 源 图表 但仅限于网站上的单个页面 可以在视图或模板中完成吗 我发现只需添加页面模板不起作用 如果我将它添加到整个网站的模板中 它加载得很好 但是它会加载到每个页面上 我的问题的另一面可能更具
  • 如何使用“git submodule”查看子模块的特定版本?

    我该如何为特定标签或提交添加 Git 子模块 子模块存储库保持指向特定提交的分离 HEAD 状态 更改该提交只需检查不同的标签或提交 然后将更改添加到父存储库 cd submodule git checkout v2 0 Previous
  • .NET 4 中的 Math.Round() 行为[重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中 Math Round 2 5 结果是 2 而不是 3 你在开玩笑吧 https stackoverflow com questions 977796 in c math round2 5