C#中四舍5入的方法

C#中的事件(event) 事件模型(event model) 事件模型的5个组成部分 事件拥有者(event source)(类对象)(有些书将其称为事件发布者) 事件成员(event)(事件拥有者的成员)(事件成员就是事件本身,事件不会主动发生,其只会在事件拥有者的内部逻辑的触发下发生。) 事件响应者(event subscriber)(类对象)(有些书将其称为事件订阅者) 事件处理器(event handler)(事件的响应者的成员)(根据拿到的事件参数/信息对事件进行处理) 事件订阅(委托类型) 举个栗子:“裁判员开枪,运 阅读详情
一点小总结,与大家分享:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //Floor向负无穷方向舍入为最接近的整数
            Console.WriteLine(decimal .Floor(-1.3m)); //-2
            Console.WriteLine(decimal .Floor (3.5m)); //3
            Console.WriteLine(decimal .Floor (4m));   //4
            //Truncate向零方向舍入为整数
            Console.WriteLine(decimal.Truncate(-1.3m));//-1
            Console.WriteLine(decimal.Truncate (3.5m));//3
            Console.WriteLine(decimal.Truncate (4m));  //4
           
            //如果想实现四舍五入,则必须用下面的技巧,保留到小数点后2位,就用100,保留到小数点后3位就用1000,依次类推
            decimal a = 8.335m,b=8.345m;
            Console.WriteLine(decimal .Truncate (a*100+0.5m)/100); //8.34
            Console.WriteLine (decimal .Truncate (b*100+0.5m)/100); //8.35
            //总结,System.Double(double)和System.Single(float)结构都没有这2种方法,所以一般用decimal来实现取整
        }
    }
}
有效数字修约,按四舍六入五成双原则 # 定义函数修约小数位数,按四舍六入五成双的原则 def Little (x,y): # x 是要修约的数,y 是要保留的小数位数。假设是-0.32561,3 ABS_x = abs(x) # 取x的绝对值0.32561 x1 = int(ABS_x*10**y) # 提取需要保留的数字并输出为整数325 x2 = ABS_x*10**(y+1) - x1*10 阅读详情

相关推荐

我从华为身上学到的项目管理经验 -- 需求篇

记录这三年,关于项目管理上的一些心得体会 – 需求篇对于需求,我们可以根据不同的角色、理解拆分成三个过程:简单来说就是:需求分析原始需求、 需求拆分为系统需求、 需求实现为功能需求**需求分析**: 将客户需求 输出成 需求描述。 需求经理需要把 需求 转换成 客户能够接受的 初始需求 IR(Initial Requirement) 对于用户来说,我只管提 我的原始需求是

minminzhe520的博客 3万+

C# 的四舍五入

c#的四舍五入有两种情况: 1.常规四舍五入   (decimal).ToString("f2") 2.四舍六入五取偶   除1里面的其他方式四舍五入都是四舍六入五取偶。 转载于:https://www.cnblogs.com/yhnbgfd/p/4037491.html...

weixin_34261739的博客 378

python中frida的安装+frida-server(雷电模拟器)保姆级安装教程

frida的安装,安卓逆向,adb

2301_80224944的博客 4579

C#中的delegate和event

一点小总结,与大家分享: using System;using System.Collections.Generic;using System.Text; namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            //Floor向...

weixin_34381687的博客 151

避开这5个坑!STC8H DMA串口通信的实战避坑指南(115200波特率实测)

本文深入解析了STC8H单片机利用DMA实现稳定全双工串口通信的实战要点。针对115200高波特率场景,详细拆解了DMA-UART架构、关键寄存器配置、时钟精度计算、缓冲区管理及中断协同等核心环节,并提供了具体的避坑指南和调试方法,帮助开发者构建高效可靠的通信链路。

melon的博客 675

金融波动率的“捕手”:GARCH模型,揭秘市场波动的“聚集密码”

摘要: GARCH模型(广义自回归条件异方差)是金融时间序列分析中用于捕捉“波动聚类”现象的核心工具。传统模型(如ARIMA)无法刻画金融数据的时变波动特性,而GARCH通过建模条件方差的动态变化(如$\sigma_t^2 = \omega + \alpha \varepsilon_{t-1}^2 + \beta \sigma_{t-1}^2$),精准预测波动率。Python实战显示,GARCH能有效拟合模拟金融数据的波动聚类,残差无自相关,验证了其优越性。该模型在波动率预测、风险价值(VaR)计算和期权定

u010257409的博客 2054

C# 事件(event)

事件是一种特殊的多播委托,仅可以从声明事件的类(或派生类)或结构(发布服务器类)中对其进行调用。如果其他类或结构订阅该事件,则在发布服务器类引发该事件时,将调用其事件处理程序方法可以将事件标记为publicprivateprotectedinternal或。这些访问修饰符定义该类的用户访问该事件的方式。事件在我们平时开发中用的还是比较多的,大部分时候用在框架中,比如 Winform 中的 Timer 组件,如下面代码,Timer.Elapsed 就是一个事件//实例化Timer类,

熊思雨的博客 7775

VS code 调试显示preLaunchTask“g++“已终止,退出代码为-1。 生成‘... .exe‘文件错误

总结: 以后每个工程都需要按照这样的流程:创建一个.c/.cpp文件 -> F5运行 -> 配置tasks.json文件-> launch.json文件 -> 运行

qq_45151652的博客 2513

C# 事件(event)

在C#中,事件是通过event关键字声明的。事件通常基于委托类型,委托定义了事件的签名,即事件的参数和返回类型。事件的声明通常放在类的内部,作为类的一个成员。// 声明事件,基于MyEventHandler委托类型在这个示例中,我们定义了一个名为MyEventHandler的委托类型,它接受一个object类型的源对象和一个EventArgs类型的参数。然后,在MyClass类中,我们使用event关键字声明了一个名为MyEvent的事件,该事件基于MyEventHandler委托类型。

weixin_47336109的博客 8332

如何实现Docker镜像导入导出 ?

摘要: Docker镜像迁移与备份可通过两种方式实现:1)镜像操作(save/load)完整保存分层结构和元数据,适用于完整备份;2)容器操作(export/import)仅保存文件系统快照,适合创建轻量模板。关键区别在于前者保留历史记录和分层,后者生成单层镜像。save/load命令示例:docker save -o nginx.tar nginx:latest,export/import示例:docker export -o container.tar abc123 && docker

weixin_39291964的博客 875

PCL Super4PCS算法实现点云粗配准(版本一)【2025最新版】

Win11系统下实现[Super4PCS: Fast Global Pointcloud Registration via Smart Indexing一文中的配准算法。

点云侠的博客 3378

Math.Round() -- c# 与java的区别

明明知道,java与c#在很多方面都有很多不同,但是如果让详细描述,却不一定能说出来多少.前段时间碰见一个问题,才恍然大悟般的,明白了一条不同.有同事的同学笔试,有道题目是 Math.Round(11.5) 与Math.Round(-11.5)的值.一个同事是java的,直接答道,不就是12和-11么.另外一个同事是搞.Net的,写了个程序,结果是12和-12.咦?结果怎么不一样?分别查了...

weixin_34413065的博客 298

STM32入门教程:水位传感器应用

这是一个简单的STM32水位检测系统的入门教程。希望通过学习本教程,您能对STM32微控制器的基本应用有更深入的了解,并能成功构建一个水位检测系统。如果您需要更详细的代码实例和教程,请参考相关的STM32开发手册和应用笔记。STM32是一款功能丰富且广泛应用于嵌入式系统的微控制器系列。在本教程中,我们将介绍如何使用STM32微控制器和水位传感器构建一个水位检测系统。

wx_linying1029的博客 533

C#制作一个四舍五入

Console.WriteLine("{0}四舍五入的结果为:{1}", numCollection[i], numCollection[i]);Console.WriteLine("{0}四舍五入的结果为:{1}", numCollection[i], a);Console.WriteLine("{0}四舍五入的结果为:{1}", numCollection[i], b);Math的四舍五入和我们口中的不一样,他们是四舍六入,如果前面的数字是偶数则进1.单数不变化。于是在写的时候发现了这个问题……

weixin_64256752的博客 245

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Math.Round() -- c# 与 java的区别

明明知道,java与c#在很多方面都有很多不同,但是如果让详细描述,却不一定能说出来多少。 前段时间碰见一个问题,才恍然大悟般的,明白了一条不同。 有同事的同学笔试,有道题目是 Math.Round(11.5) 与Math.Round(-11.5)的值。 一个同事是java的,直接答道,不就是12和-11么。 另外一个同事是搞.Net的,写了个程序,结果是12和-12。 咦?结果怎么不一

吕建奎的专栏 974

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

关于四舍六入五成双

我最近做项目,用到了一个四舍六入五成双,查资料发现原来想C#、JAVA这些程序都是用的四舍六入五成双。后来我跟我一个好朋友说道这个问题,他说这是银行家算法。现在小学数学课本上都是这个了。听得我狂汗,落伍拉?具体如下:四舍六入五考虑,即当尾数≤4时舍去,尾数为6时进位。当尾数4舍为5时,则应是末位数是奇数还是偶数,5前为偶数应将5舍去,5前为奇数应将5进位。我做了个程序测试如下:decima

blogremover的专栏 3628

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

四舍五入 与 四舍六入五成双

今天公司有个同事在调一个asp程序时候,发现 round(1.25,1) 返回的竟然是1.2 而不是1.3 查询了一下优快云的帖子,发现这竟然是一个Bug: http://search.youkuaiyun.com/expert/topic/51/5101/2002/5/27/756396.htm 经测试。 VBscript, ASP 中 round(1.25,1) 返回的是 1.2 ...

baodi7426的博客 1131

VS编程,C#对于带小数的数据进行取整和四舍六入五取偶的简短说明

有时对于有小数位的数据要进行取整操作或者舍入操作,这里简短说一下实现方法。 1、小数取整 取整分两种,向上取整和向下取整。 向上取整:返回大于或等于指定双精度浮点数的最小整数。 若对象是正数,则去掉所有的小数位,并使整数位加1; 若对象是负数,则去掉所有的小数位,保留整数位; 向下取整:返回小于或等于指定双精度浮点数的最大整数。 若对象是正数,则去掉所有的小数位,保留整数位;

weixin_45966328的博客 3160

C# Math.Round()四舍五入、四舍六入五成双

所谓的四舍六入五成双,就是说当确定有效位数之后,有效位数的下一位如果小于等于4就舍去,如果大于等于6就进一,当有效位数的下一位是5的时候。其实产生这个结果的原因是由于Math.Round 默认使用的并非是四舍五入的原则,而是四舍六入五成双的原则。从统计学上将,四舍六入五成双比四舍五入要更精确,因为大量计算的情况下,四舍五入逢五进一,会导致结果偏向大数。代码非常的简单,开发者实际得到的结果是12.12, 这与其所预期的四舍五入结果12.13相悖。如果有效位数是小数点后一位,使用四舍五入原则得到的结果。

中级CV工程师,欢迎来扰! 2228

四舍五入VS银行家舍入 (四舍六入五取偶)

相信细心的程序员们早就发现了.net环境下默认舍入算法的是“四舍六入”的算法。从小学我们就学过“四舍五入”算法,但是更加科学的舍入办法应该是“四舍六入”,也就是今天我们要讨论的“银行家舍入”。 大家可以做一个Demo。 C#环境下 1: class Program 2: { 3: static void Main(string[] a

bigheadsheep的专栏 6796

C#中的”四舍五入”--银行家算法,即:四舍六入五取偶

可能很多人都都知道Math.Round()是C#中用来做四舍五入,保留指定小数位的。但实际上它并不是真正的四舍五入,而是银行家算法的“四舍六入五取偶”,事实上这也是IEEE的规范,因此所有符合IEEE标准的语言都应该采用这样的算法。其规则如下: 1、当舍去位的数值小于5时:直接舍去 2、当舍去位的数值大于6时:进位加1 3、当舍去位的数值等于5时,分两种情况:  (1)若5后面有其他非0数...

小宇飞刀的BLOG 3784

算法:四舍六入五成双 ,保留三位有效数字

在实际的生产制造统计中,会有精度丢失的情况. 倘若按照 我们平常所用的 四舍五入,(1234舍掉, 56789 进位) 这样会使整体数据偏大(理论模型). 为了使整体数据保持平均,生产制造有这样一种计算方式,也就是 四舍六入无成双. 例如保留3位有效数字: 1.235 => 1.235 1.2354=>1.235 (0.0004舍掉) ...

weixin_34072637的博客 2976

C# 四舍五入 (解决四舍六入五成双的问题)

四舍六入五成双是一种精确度的计数保留法.舍入规律是"四舍六入五成双",这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进,就像1.25,因为2是偶数,所以是1.2。又像1.35,因为3是奇数,所以是1.4,明不明白,这个是数据统计需要的.        从统计学的角度,"四舍六入五成双"比"四舍五入"要科学,它使舍入后的结果有的变大,有的变小,更平

hatch gavin的专栏 1万+

C# Math.Round() 四舍六入五取偶

C# Math.Round() 四舍六入五取偶

明明明的博客 538

四舍五入算法、五舍六入、六舍七入、七舍八入。。。。。。。

四舍五入:int=(int)(double +0.5); 五舍六入:int=(int)(double +0.4); 六舍七入、七舍八入

XiaoY 1万+

四舍六入五成双

#include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <errno.h> #include <sys/types.h> #include <sys/stat.h> #include <time.h> #include "../apue.2e/include/apue.h" #include .

学而不思则罔 836
上一篇: System.IO全面总结(二)
下一篇: .NET平台开发必须掌握的XML知识(一)
auto_ptr
博客等级 码龄20年 18粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值