C# 中 Math.Round 数学函数

news2025/3/1 11:21:07

在 C# 中,Math.Round 是一个数学函数,用于对一个浮点数进行四舍五入操作。它接受一个浮点数作为输入,并返回一个最接近输入值的整数或指定小数位数的浮点数。

Math.Round 方法有多个重载,其中最常用的重载有以下两种形式:

  1. Math.Round(double value): 这个重载将输入的浮点数 value 四舍五入为最接近的整数,并返回一个整数值。

  2. Math.Round(double value, int digits): 这个重载将输入的浮点数 value 四舍五入到指定的小数位数 digits,并返回一个浮点数值。

下面是一些具体的例子来说明 Math.Round 的使用:

double number1 = 3.49;
double number2 = 3.51;
double number3 = 3.14159;

int rounded1 = (int)Math.Round(number1); // rounded1 = 3
int rounded2 = (int)Math.Round(number2); // rounded2 = 4

double rounded3 = Math.Round(number3, 2); // rounded3 = 3.14

在上面的例子中,number1 被四舍五入为最接近的整数,即 3。number2 被四舍五入为最接近的整数,即 4。number3 被四舍五入到小数点后两位,即 3.14。
在这里插入图片描述

需要注意的是,Math.Round 方法返回的结果类型取决于重载的使用方式。如果使用的是不带小数位数参数的重载,结果将是一个整数类型;如果使用的是带小数位数参数的重载,结果将是一个浮点数类型。


此外,Math.Round 方法还有其他重载形式,如 Math.Round(decimal value)Math.Round(double value, MidpointRounding mode),它们提供了更多的灵活性来满足不同的舍入需求。

  1. Math.Round(decimal value)
decimal number = 4.5678m;
decimal rounded = Math.Round(number); // rounded = 5

在这个例子中,number 是一个 decimal 类型的值,通过 Math.Round 方法进行四舍五入后,得到最接近的整数值 5。

  1. Math.Round(double value, MidpointRounding mode)
double number = 3.5;
double rounded1 = Math.Round(number, MidpointRounding.ToEven); // rounded1 = 4
double rounded2 = Math.Round(number, MidpointRounding.AwayFromZero); // rounded2 = 4 (向远离零的方向舍入)

在这个例子中,number 是一个 double 类型的值。MidpointRounding 是一个枚举类型,用于指定舍入的方式。ToEven 表示使用标准的四舍五入规则,当小数部分恰好为 0.5 时,舍入到最接近的偶数。AwayFromZero 表示向远离零的方向舍入,即始终远离零舍入到最接近的整数。在上面的例子中,rounded1rounded2 分别演示了这两种舍入方式。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1504122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenTenBase 开发环境搭建及Debug设置

最近有个 OpenTenBase开源核心贡献挑战赛 领导建议大家都去试试,我也去凑了下热闹,发现能力有限一时半会是搞不明白了,最多也就是能搞搞文档翻译,或者写点操作手册啥的。 不过不管怎么样,先把开发环境搭上,…

cannot import name ‘Flask‘ from partially initialized module ‘flask‘

bug: ImportError: cannot import name Flask from partially initialized module flask (most likely due to a circular import) (G:\pythonProject6\flask.py) 这个是因为包的名字和文件的名字一样 修改文件名: 结果 🤣🤣&…

基于PyTorch深度学习实战入门系列-(2)Numpy基础上

导入Numpy模块 import numpy as np创建数组(一维数组、小数数组、二维数组) # 创建一个一维数组 n1 np.array([1, 2, 3]) # 创建一个含有小数的一维数组 n2 np.array([0.1, 0.2, 0.3]) # 创建一个简单的二维数组 n3 np.array([[1, 2], [3, 4]]) print…

Rust教程:How to Rust-从开始之前到Hello World

本文为第0篇 专栏简介 本专栏是优质Rust技术专栏,推荐精通一门技术栈的蟹友,不建议基础的同学(无基础学Rust也是牛人[手动捂脸]) 感谢Rust圣经开源社区的同学,为后来者提供了非常优秀的Rust学习资源 本文使用&…

力扣由浅至深 每日一题.01 两数之和

万物惊鸿,唯我澄明 —— 24.3.9 1. 两数之和https://leetcode.cn/problems/two-sum/ 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会…

C语言转义字符:一文打尽

转义字符 1. 前言2. 预备知识2.1 打印格式2.2 进制转换2.3 ASCII码 3. 什么是转义字符4. 常见的转义字符4.1 \?4.2 \4.3 \"4.4 \\4.5 \dddddd表示1到3个八进制数字4.6 \xdddd表示1到2个十六进制数字4.7 其他转义字符 5. 一道笔试题6. 一个小插曲 1. 前言 大家好&#xf…

giffgaff怎么充值?giffgaff怎么续费?

-性价比高:0月租,免费接收短信,充值一次,接码可以用20年以上(仅需半年保号一次),可能是国内性价比最高的接码实体卡!-安全:实体卡无须担心因号码被风控,还可以…

使用阿里云服务器搭建网站简单吗?超简单教程

使用阿里云服务器快速搭建网站教程,先为云服务器安装宝塔面板,然后在宝塔面板上新建站点,阿里云服务器网aliyunfuwuqi.com以搭建WordPress网站博客为例,来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流…

BUU [网鼎杯 2020 半决赛]AliceWebsite

BUU [网鼎杯 2020 半决赛]AliceWebsite 开题&#xff1a; hint附件是源码。在index.php中有一个毫无过滤的本地文件包含 <?php $action (isset($_GET[action]) ? $_GET[action] : home.php); if (file_exists($action)) {include $action; } else {echo "File not…

STM32之串口中断接收UART_Start_Receive_IT

网上搜索了好多&#xff0c;都是说主函数增加UART_Receive_IT()函数来着&#xff0c;实际正确的是UART_Start_Receive_IT()函数。 —————————————————— 参考时间&#xff1a;2024年3月9日 Cube版本&#xff1a;STM32CubeMX 6.8.1版本 参考芯片&#xff1a…

基于Kronig-Penney能带模型的MATLAB求解与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于Kronig-Penney能带模型的MATLAB求解与仿真.综合利用 MATLAB提供的求解常微分方程、矩阵行列式、代数表达式化简及绘图等函数 ,可使 Kronig-Penney能带模型分析…

【鸿蒙开发】第十八章 Web组件(二)

接上一章节 【鸿蒙开发】第十七章 Web组件&#xff08;一&#xff09; 4 H5与端侧交互 4.1 应用侧调用前端页面函数 应用侧可以通过runJavaScript()方法调用前端页面的JavaScript相关函数。 在下面的示例中&#xff0c;点击应用侧的“runJavaScript”按钮时&#xff0c;来触…

计算机网络(基础篇)复习笔记——体系结构/协议基础(持续更新中......)

目录 1 计算机网络基础相关技术Rip 路由更新操作 2 体系结构(OSI 7层, TCP/IP4层)应用层运输层网络层IPv4无分类域间路由选择 CIDRIPV6 数据链路层循环冗余校验CRC协议设备 物理层传输媒体信道复用技术宽带接入技术数据通信 3 网络局域网(以太网Ethernet) 4 通信过程编码:信道极…

2024年学生服务器申请流程,以阿里云学生机为例

阿里云学生服务器免费申请&#xff0c;之前是云翼计划学生服务器9元/月&#xff0c;现在是高校计划&#xff0c;学生服务器可以免费申请&#xff0c;先完成学生认证即可免费领取一台云服务器ECS&#xff0c;配置为2核2G、1M带宽、40G系统盘&#xff0c;在云服务器ECS实例过期之…

ZigBee技术与实训教程(无线传感器网络笔记第三次)

3.协议架构 IEEE802.15.4 &#xff08;无限个人区域网技术&#xff09;标准只定义了PHY物理层和数据链路层的MAC控制子层。PHY由射频发射器以及底层的控制模块组成。MAC子层为高层访问物理层&#xff08;PHY&#xff09;信道提供点到点的通信服务接口。MAC 层以上的几个层次还…

ROS2中launch编写及参数含义(xml、python)

ROS2系列文章目录 ROS2中nav_msgs/msg/Path 数据含义及使用 ROS2中std_msgs/msg/Header 数据含义及使用 ROS中TF变换详解 文章目录 ROS2系列文章目录ROS2中launch编写及参数含义&#xff08;xml、python&#xff09;一、ROS官方介绍二、实现案例1.编写主函数、CMakeLists.tx…

一学就会 | ChatGPT提示词极简指南-有爱AI实战教程(三)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 导读&#xff1a;在使用 ChatGPT 时&#xff0c;当你给的指令越精确&#xff0c;它的回答会越到位&#xff0c;举例来说&#xff0c;假如你要请它帮忙写文案&#xff0c;如…

近年来文本检测相关工作梳理

引言 场景文本检测任务&#xff0c;一直以来是OCR整个任务中最为重要的一环。虽然有一些相关工作是端对端OCR工作的&#xff0c;但是从工业界来看&#xff0c;相关落地应用较为困难。因此&#xff0c;两阶段的OCR方案一直是优先考虑的。 在两阶段中&#xff08;文本检测文本识…

springboot254小区团购管理

小区团购管理设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装小区团购管理软件来发挥其高效地信…

DataWhale公开课笔记2:Diffusion Model和Transformer Diffusion

Stable Diffusion和AIGC AIGC是什么 AIGC的全称叫做AI generated content&#xff0c;AlGC (Al-Generated Content&#xff0c;人工智能生产内容)&#xff0c;是利用AI自动生产内容的生产方式。 在传统的内容创作领域中&#xff0c;专业生成内容&#xff08;PGC&#xff09;…