Math.Round()函数说明
Math.Round()并不是严格意义上的是四舍五入函数。它默认的执行的是“银行家舍入”算法,即四舍六入五取偶。概括为:四舍六入五考虑、五后非零就进一,五后皆零看奇偶,五前为偶应舍去、五前为奇要进一。
当为5时,取离着最近的偶数。见下图:
测试代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MathRoundTest
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Math.Round(1234.5).ToString()); //输出:1234
Console.WriteLine(Math.Round(1234.50).ToString()); //输出:1234
Console.WriteLine(Math.Round(1235.5).ToString()); //输出:1236
Console.WriteLine(Math.Round(1235.50).ToString()); //输出:1236
Console.WriteLine("---------------------------------------------");
Console.WriteLine(Math.Round(-1234.5).ToString()); //输出:-1234
Console.WriteLine(Math.Round(-1234.50).ToString()); //输出:-1234
Console.WriteLine(Math.Round(-1235.5).ToString()); //输出:-1236
Console.WriteLine(Math.Round(-1235.5).ToString()); //输出:-1236
Console.WriteLine("---------------------------------------------");
Console.WriteLine(Math.Round(123.45, 1).ToString()); //输出:123.4
Console.WriteLine(Math.Round(123.55, 1).ToString()); //输出:123.6
Console.WriteLine("---------------------------------------------");
Console.WriteLine(Math.Round(-123.45, 1).ToString()); //输出:-123.4
Console.WriteLine(Math.Round(-123.55, 1).ToString()); //输出:-123.6
Console.WriteLine("---------------------------------------------");
Console.ReadLine();
}
}
}
如果要实现我们所需要的四舍五入,需要使用使用四舍五入策略参数:MidpointRounding.AwayFromZero (当为5时,取远离0的数值)。

测试代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MathRoundTest
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Math.Round(1234.5,MidpointRounding.AwayFromZero).ToString()); //输出:1235
Console.WriteLine(Math.Round(1234.50, MidpointRounding.AwayFromZero).ToString()); //输出:1235
Console.WriteLine(Math.Round(1235.5, MidpointRounding.AwayFromZero).ToString()); //输出:1236
Console.WriteLine(Math.Round(1235.50, MidpointRounding.AwayFromZero).ToString()); //输出:1236
Console.WriteLine("---------------------------------------------");
Console.WriteLine(Math.Round(-1234.5, MidpointRounding.AwayFromZero).ToString()); //输出:-1235
Console.WriteLine(Math.Round(-1234.50, MidpointRounding.AwayFromZero).ToString()); //输出:-1235
Console.WriteLine(Math.Round(-1235.5, MidpointRounding.AwayFromZero).ToString()); //输出:-1236
Console.WriteLine(Math.Round(-1235.5, MidpointRounding.AwayFromZero).ToString()); //输出:-1236
Console.WriteLine("---------------------------------------------");
Console.WriteLine(Math.Round(123.45, 1, MidpointRounding.AwayFromZero).ToString()); //输出:123.5
Console.WriteLine(Math.Round(123.55, 1, MidpointRounding.AwayFromZero).ToString()); //输出:123.6
Console.WriteLine("---------------------------------------------");
Console.WriteLine(Math.Round(-123.45, 1, MidpointRounding.AwayFromZero).ToString()); //输出:-123.5
Console.WriteLine(Math.Round(-123.55, 1, MidpointRounding.AwayFromZero).ToString()); //输出:-123.6
Console.WriteLine("---------------------------------------------");
Console.ReadLine();
}
}
}
相关文章:
Math.Round()函数说明
Math.Round()并不是严格意义上的是四舍五入函数。它默认的执行的是“银行家舍入”算法,即四舍六入五取偶。概括为:四舍六入五考虑、五后非零就进一,五后皆零看奇偶,五前为偶应舍去、五前为奇要进一。 当为5时,取离着最…...
001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮
文章目录 ProductController.javaProduct.javaElasticsearchSyncListener.javaProductElasticSearchMapper.javaProductMapper.javaProductDeletedEvent.javaProductServiceImpl.javaSyncProductService.javaIProductService.javaElasticSearchSpringDemoApplication.javaServl…...
Vue 快速入门:Vue初级
语法规则 前端渲染 渲染有几种方式:原生js、js模板、Vue模板语法 原生js 使用字符串拼接 js模板语法 Vue.js 模板语法概述 Vue.js 是一个用于构建用户界面的渐进式框架,其模板语法非常灵活和直观。Vue 的模板语法基于 HTML,可以通过指令…...
什么是IP跳变?
IP 跳跃(也称为 IP 跳动)的概念已引起使用代理访问网站的用户的极大关注。但 IP 跳跃到底是什么?为什么它对于各种在线活动至关重要? 在本文中,我们将深入探讨 IP 跳跃的世界,探索其实际应用、用例、潜在问…...
Linux服务器lvm磁盘管理fdisk和df磁盘大小不同修改
服务器端由于硬盘是通过VCenter原来100G磁盘复制的虚拟机,复制完成后,原来100G的磁盘通过选择 磁盘重新复制出150G的磁盘,开机后发现还是原来的100G的磁盘,通过fdisk -l 查看有个sdb是150G, 但是已经划转的lvm盘只有100G, 通过df查看也是原来的100G: pvs查看pv里也是10…...
AOP是什么和OOP的区别
AOP(Aspect-Oriented Programming,面向切面编程)和OOP(Object-Oriented Programming,面向对象编程)是两种不同的编程范式,它们在多个方面存在显著的差异。 编程思想: AOP࿱…...
Clickhouse 字符串函数 - 2
reverse 反转字符串。 reverseUTF8 以Unicode字符为单位反转UTF-8编码的字符串。如果字符串不是UTF-8编码,则可能获取到一个非预期的结果(不会抛出异常)。 format(pattern, s0, s1, …) 使用常量字符串pattern格式化其他参数。pat…...
【个人成长】Fitten Code 测试案例分析
JS,Fitten Code 当插件,然后在代码分析的时候,有些小感悟,大模型写代码的思路,正常我理解的代码思路。 输入代码 (item.score* 100).toFixed(0)Prompt 得出的结果 5分,如果超过100按100算输出结果 con…...
管理Anaconda虚拟环境的实用指南
Anaconda是一个开源的Python数据科学平台,它提供了一个管理包和环境的强大工具。在这篇文章中,我们将探讨如何在Anaconda中创建、克隆、切换和管理虚拟环境,以及如何升级Python版本和更新conda本身。 切换Anaconda环境 在Anaconda中&#x…...
python如何在图片上写斜体字
在Python中,直接在图片上写斜体文字通常不是图像库(如PIL或OpenCV)的内置功能,因为这些库主要关注于图像处理而非复杂的文本渲染。然而,你可以通过几种方式在图片上创建斜体效果: 使用PIL(Pytho…...
算法练习第22天|39. 组合总和、40.组合总和II
39. 组合总和 39. 组合总和 - 力扣(LeetCode)https://leetcode.cn/problems/combination-sum/description/ 题目描述: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数…...
CCF PTA 2022年11月C++大富翁游戏
【问题描述】 小明很喜欢玩大富翁游戏,这个游戏的规则如下: 1、游戏地图是有 N 个格子,分别编号从 1 到 N。玩家一开始位于 1 号格子。 2、地图的每个格子上都有事件,事件有以下两种类型: A)罚款 x 枚金币…...
React获取form表单值的N种方式
Ref模式(非受控模式) 非钩子模式 1.createRef()方式 js: userNameElcreateRef() <input type"text" name"userName" ref{this.userNameEl} /> 获取值的方式: this.userNameEl.current.value2.refs(废弃) js: con…...
Apache Knox 2.0.0使用
目录 介绍 使用 gateway-site.xml users.ldif my_hdfs.xml my_yarn.xml 其它 介绍 The Apache Knox Gateway is a system that provides a single point of authentication and access for Apache Hadoop services in a cluster. The goal is to simplify Hadoop securit…...
Tomcat 内核详解 - Web服务器机制
详细介绍 Apache Tomcat 是一个开源的Web服务器和Servlet容器,它实现了Java Servlet、JavaServer Pages (JSP) 和WebSocket规范。Tomcat的核心设计围绕着几个关键组件,它们共同构成了处理HTTP请求、管理Web应用部署和执行Servlet逻辑的基础架构。 Apac…...
几个人脸库对于面部动作识别的功能比较
经粗略研究,insightface只能识别面部特征点的位置,根据这些位置不能直接推出一个人是否在睡觉。 OpenFace 是一个高级的面部行为分析工具,它能够识别和分析多种面部动作单位(Facial Action Coding System, FACS),这些动作单位是根据面部肌肉活动定义的。每个动作单位(A…...
IDEA 使用Alibaba Cloud Toolkit 实现远程 自动部署
安装插件 maven方式部署 配置服务器主机信息 配置发布到主机 单击Select 单击run 就可以将选择module的jar文件上传到服务器的指定位置了 Alibaba Cloud Toolkit 上传文件的方式部署...
蓝桥杯备战15.完全二叉树的权值
P8681 [蓝桥杯 2019 省 AB] 完全二叉树的权值 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; #define endl \n #define int long long const int N 2e510; int a[N]; signed main() {std::ios::sync_with_stdio(0),cin.ti…...
【前端】LayUI监听事件汇总
一、监听单选按钮事件 点击资源类型单选按钮时,请求后台接口,把接口返回的内容追加到选择资源下拉框内 HTML <div class"layui-form-item"><label class"layui-form-label">资源类型:</label><d…...
【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(1.VCS NLP VC LP)
本章提供了关于使用Synopsys工具进行低功耗设计和分析的信息。它包含以下部分: • 使用VCS NLP和VC LP进行多电压验证 • 使用Design Compiler进行逻辑综合 • 使用IC Compiler进行设计规划 • 使用IC Compiler进行物理实现 • 使用IC Compiler II和Fusion Compiler进行物…...
通过用量看板深度分析,回顾团队月度大模型API开销明细
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过用量看板深度分析,回顾团队月度大模型API开销明细 对于团队管理者而言,清晰、透明地掌握大模型API的使…...
SAP PP实战指南:从零到一掌握BOM创建、群组BOM配置与CS01核心操作
1. BOM基础概念与核心价值 物料清单(Bill of Materials,简称BOM)是制造业的DNA图谱,它用结构化数据描述产品从原材料到成品的完整演化路径。我第一次接触SAP PP模块时,项目经理指着屏幕上的BOM结构说:"…...
终极Obsidian个性化首页配置指南:3小时打造你的专属知识管理中心
终极Obsidian个性化首页配置指南:3小时打造你的专属知识管理中心 【免费下载链接】obsidian-homepage Obsidian homepage - Minimal and aesthetic template (with my unique features) 项目地址: https://gitcode.com/gh_mirrors/obs/obsidian-homepage 你是…...
Maintain Certificate Trust List,把 SAP 出站通信里的证书信任关口管清楚
做 SAP S/4HANA Cloud、SAP BTP ABAP environment 或者混合架构里的出站集成时,有一个问题很容易被业务侧低估,却经常成为接口上线前的最后一道卡点,SAP 系统到底信不信任通信伙伴的服务器证书。OAuth、Basic Authentication、Communication Arrangement、Destination、ODat…...
MicMute:3秒掌握麦克风静音控制,告别会议尴尬时刻
MicMute:3秒掌握麦克风静音控制,告别会议尴尬时刻 【免费下载链接】MicMute Mute default mic clicking tray icon or shortcut 项目地址: https://gitcode.com/gh_mirrors/mi/MicMute 你是否曾在视频会议中因忘记静音而暴露尴尬的聊天背景声&…...
Perplexity营养响应延迟超8秒?3分钟完成本地缓存+USDA API直连双模加速配置
更多请点击: https://kaifayun.com 第一章:Perplexity营养饮食查询 Perplexity 是一款基于大语言模型的实时信息检索工具,其核心优势在于能结合权威来源(如 USDA FoodData Central、PubMed、WHO 指南)对营养学问题进行…...
【算法】小白也能懂 · 第 11 节:动态规划入门
在前面 10 节中,我们学了递归、二叉树、图的 BFS/DFS 等基础数据结构与算法。今天,我们来认识一个让无数初学者又爱又恨的概念——动态规划(Dynamic Programming,简称 DP)。别怕,跟着节奏走,你会发现它其实没那么神秘。 1. 什么是动态规划 简单来说,动态规划的核心思…...
阿里企业邮箱代理:阿里企业邮箱与钉钉协同办公技术实践
前言在国内企业数字化办公趋势下,单一邮件通讯早已无法满足企业日常管理需求,邮箱与内部办公软件深度融合成为主流趋势。阿里企业邮箱与钉钉生态无缝打通,实现账号互通、消息联动、日程同步、办公审批联动等多项实用功能,极大提升…...
Kubernetes 网络与服务发现:从原理到实战避坑指南
摘要K8s 网络是很多人眼中的"黑盒"。本文深入剖析 Pod 通信、Service 发现、Ingress 网关的核心原理,结合真实生产环境的踩坑经验,带你彻底搞懂 K8s 网络模型。看完这篇,你再也不会被"服务找不到"、"跨节点通信失败…...
告别复杂设置!Sunshine v0.21.0 + Moonlight安卓版:5分钟搞定家庭局域网游戏串流
5分钟极简指南:用Sunshine和Moonlight打造家庭游戏串流系统 客厅的沙发上,手机屏幕突然变成了你的高性能游戏PC——这不是科幻电影,而是每个家庭都能实现的游戏串流体验。过去需要复杂网络知识才能搭建的串流系统,如今借助Sunshin…...
