C# 中 Math.Round 数学函数

在 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 = 4double 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.mzph.cn/news/731844.shtml

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

相关文章

C语言数据结构之二叉堆

愿你千山暮雪 海棠依旧 不为岁月惊扰平添忧愁 🎥前期回顾-二叉树 🔥数据结构专栏 期待小伙伴们的支持与关注!!! 目录 前期回顾 二叉堆的概念及结构 二叉堆的创建 顺序表的结构声明 顺序表的创建与销毁 二叉堆的插入 …

qtCreator可以全局包含。VSqt中千万不能全局包含,你的控件头文件会自己变成<>括号,编译就报错

qtCreator可以全局包含。 VSqt中千万不能全局包含,你的控件头文件会自己变成<>括号,编译就报错

【fastllm】学习框架,本地运行,速度还可以,可以成功运行chatglm2模型,估计chatglm3模型应该也可以运行,但是并没有现成的模型文件

1,关于 fastllm 项目 https://github.com/ztxz16/fastllm 🚀 纯c实现,便于跨平台移植,可以在安卓上直接编译 🚀 ARM平台支持NEON指令集加速,X86平台支持AVX指令集加速,NVIDIA平台支持CUDA加速…

pytest教程-15-多个fixture以及重命名

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了fixture的yield关键字,本小节我们讲解一下使用多个fixture的方法。 使用多个fixture 如果用例需要用到多个fixture的返回数据,fixture也可以return一个元组、list或字…

数据中台驱动:高效交付之道

如何保证数据中台高效交付? 在数据行业中,项目交付难题尤为突出,尤其在数据中台领域。数据中台项目交付面临诸多挑战,若不妥善解决,将会降低服务质量,影响企业数字化建设的顺利开展,甚至影响项目…

容器(0)-DOCKERFILE-安装-常用命令-部署-迁移备份-仓库

1.安装 启动 systemclt start docker //启动 systemctl status docker //状态 docker info systemclt stop docker systemctl status docker systemctl enable docker //开机启动 2.常用命令 镜像查看 docker images 镜像查看 docker status 镜像拉取 docker pull centos:…

Git 远程操作

1.分布式版本控制系统 我们目前所说的所有内容(工作区,暂存区,版本库等等),都是在本地!也就是在你的笔记本或者计算机上。而我们的 Git 其实是分布式版本控制系统!什么意思呢 可以简单理解为&am…

Reset Verification IP

Reset Verification IP IP 参数及接口 IP 例化界面 相关函数 assert_reset //置位复位信号 < hierarchy_path>.assert_reset();deassert_reset //取消置位复位信号 < hierarchy_path>.deassert_reset();set_master_mode //设置 RST_VIP 模式为 Master < hi…

仿射变换下的点位纠偏

点位偏差一直是一个很头疼的问题&#xff0c;但是由于摄像头和实际环境的局限性&#xff0c;我们不得不面对这个问题。对此&#xff0c;使用判别的方式进行一个仿射变换&#xff0c;是一种非常有效的方式&#xff0c;下图中图1是基准图&#xff0c;图2是目标图&#xff0c;图3是…

【嵌入式高级C语言】11:C语言Makefile

文章目录 1 makefile的概述【只针对Linux有效】1.1 make1.2 makefile1.3 采用makefile的好处 2 Makefile的语法规则3 makefile变量3.1 自定义变量3.2 系统环境变量3.3 预定义变量 4 伪目标5 最终版本Makefile 1 makefile的概述【只针对Linux有效】 1.1 make make是个命令&…

CesiumJS开发中坐标系的相关知识

在Cesium中,坐标系主要涉及两个概念:地球固定坐标系(Earth-Fixed Frame)和参考椭球体坐标系(Reference Ellipsoid Frame)即平时我们用的坐标系: 地球固定坐标系(Earth-Fixed Frame): 地球固定坐标系是指以地球为基准的坐标系,其原点位于地球质心,坐标轴与地…

数据结构之八大排序

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

npm 操作报错记录1- uninstall 卸载失效

npm 操作报错记录1- uninstall 卸载失效 1、问题描述 安装了包 vue/cli-plugin-eslint4.5.0 vue/eslint-config-prettier9.0.0 但是没有使用 -d &#xff0c;所以想重新安装&#xff0c;就使用 uninstall 命令卸载&#xff0c;结果卸载了没反应&#xff0c;也没有报错&#xf…

【Python】成功解决AttributeError: ‘MyClass‘ object has no attribute ‘my_attribute‘

【Python】成功解决AttributeError: ‘MyClass’ object has no attribute ‘my_attribute’ &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门…

CRM术语速览:掌握这十个专业名词,成为CRM专家

无论您是销售人员还是采购经理&#xff0c;熟悉CRM管理系统专业术语都是一门必修课。擅于运用CRM专业术语帮助您理解CRM管理系统的功能、更好的开展业务。本文与您分享不得不知道的十大CRM专业术语&#xff0c;CRM常用术语合集。常见的CRM术语包括MQL、SQL、SDR、销售漏斗等等。…

【Docker】了解Docker Desktop桌面应用程序,TA是如何管理和运行Docker容器(3)

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Docker容器》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…

AI新工具 百分50%算力确达到了GPT-4水平;将音乐轨道中的人声、鼓声、贝斯等音源分离出来等

1: Pi 百分50%算力确达到了GPT-4水平 Pi 刚刚得到了巨大的升级&#xff01;它现在由最新的 LLMInflection-2.5 提供支持&#xff0c;它在所有基准测试中都与 GPT-4 并驾齐驱&#xff0c;并且使用不到一半的计算来训练。 地址&#xff1a;https://pi.ai/ 2: Moseca 能将音乐…

JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要对比

1、什么是JVM&#xff1f; JVM本质上就是一个软件&#xff0c;是计算机硬件的一层软件抽象&#xff0c;在这之上才能够运行Java程序&#xff0c;JAVA在编译后会生成类似于汇编语言的JVM字节码&#xff0c;与C语言编译后产生的汇编语言不同的是&#xff0c;C编译成的汇编语言会…

【Web安全】htaccess攻击

.htaccess攻击 文章目录 .htaccess攻击1. .htaccess文件2. 常见用法2.1. 自定义出错界面2.2. 强制文件执行方式2.3. PCRE绕过正则匹配2.4. php_value修改php设定2.5. php_value文件包含2.6. 把htaccess当作php 1. .htaccess文件 .htaccess是Apache网络服务器一个配置文件&#…

【面试精讲】Java动态代理是如何实现的?JDK Proxy 和 CGLib 有什么区别?

Java动态代理是如何实现的&#xff1f;JDK Proxy 和 CGLib 有什么区别&#xff1f; 目录 一、Java动态代理的实现 1、使用JDK Proxy实现动态代理 2、使用CGLib实现动态代理 二、JDK Proxy 与 CGLib 的区别 三、Spring中的动态代理 四、 Lombok代理原理 总结 前言 本文…