C#中Math.Round()函数的简单解析

版权声明:本文为作者学习笔记,欢迎各位评论指点 https://blog.csdn.net/Htojk/article/details/78214960

Round的使用

这里写图片描述

举个例子如下:
using System;
namespace practice3
{
class MainClass
{
public static void Main(string[] args)
{
float a=10.1f;
float b=10.9f ;
float c = -10.1f;
float d = -10.9f;
Console.WriteLine(Math.Round(a,0));
Console.WriteLine(Math.Round(b,0));
Console.WriteLine(Math.Round(c,0));
Console.WriteLine(Math.Round(d,0));
}
}
}
这里写图片描述
这里定义了a,b,c,d四个浮点数,当使用Round函数操作之后,都分别变成了离这个数最接近的整数。但是,这里存在一个特例,也就是当小数点位为5的时候,可以测试看一组数据:
using System;
namespace practice3
{
class MainClass
{
public static void Main(string[] args)
{
float a=10.5f;
float b=11.5f ;
float c = -10.5f;
float d = -11.5f;
Console.WriteLine(Math.Round(a,0));
Console.WriteLine(Math.Round(b,0));
Console.WriteLine(Math.Round(c,0));
Console.WriteLine(Math.Round(d,0));
}
}
}
这里写图片描述
可以看出,这里的Round并非符合四舍五入的规律,也在此提醒各位初学者,不要把Round理解为四舍五入,那么Round到底是一个什么样的规律呢?
假如一个数为:a.5
1.当a为正数的时候:a如果为奇数,使用Round之后,则舍去5进位,即结果为:a+1。如:3.5——》4
a如果是偶数,使用Round之后,则直接舍去5,即结果为:a。如4.5——》4
2.当a为负数的时候:a如果是奇数,使用Round之后,则舍去5后退一位,也就是a-1;
如:-3.5——》-4;
a如果是偶数,使用Round之后,则直接舍去5,结果为a;
如:-4.5——》-4;
如果理解有错,请大神纠正。如果还有扩展性文档,也请大佬不吝赐教!当然,其详细用法请参考微软官方手册。
地址为:https://msdn.microsoft.com/zh-tw/library/3s2d3xkk(VS.80).aspx

阅读更多
换一批

c#Math.Round()函数解析

10-12

Round的使用rnrn[img=http://img.bbs.csdn.net/upload/201710/12/1507793319_872205.png][/img]rnrn举个例子如下:rnusing System;rnnamespace practice3rnrn class MainClassrn rn public static void Main(string[] args)rn rn float a=10.1f;rn float b=10.9f ;rn float c = -10.1f;rn float d = -10.9f;rn Console.WriteLine(Math.Round(a,0));rn Console.WriteLine(Math.Round(b,0));rn Console.WriteLine(Math.Round(c,0));rn Console.WriteLine(Math.Round(d,0));rn rn rnrn[img=http://img.bbs.csdn.net/upload/201710/12/1507793346_723721.png][/img]rn这里定义了a,b,c,d四个浮点数,当使用Round函数操作之后,都分别变成了离这个数最接近的整数。但是,这里存在一个特例,也就是当小数点位为5的时候,可以测试看一组数据:rnusing System;rnnamespace practice3rnrn class MainClassrn rn public static void Main(string[] args)rn rn float a=10.5f;rn float b=11.5f ;rn float c = -10.5f;rn float d = -11.5f;rn Console.WriteLine(Math.Round(a,0));rn Console.WriteLine(Math.Round(b,0));rn Console.WriteLine(Math.Round(c,0));rn Console.WriteLine(Math.Round(d,0));rn rn rnrn[img=http://img.bbs.csdn.net/upload/201710/12/1507793367_645350.png][/img]rn可以看出,这里的Round并非符合四舍五入的规律,也在此提醒各位初学者,不要把Round理解为四舍五入,那么Round到底是一个什么样的规律呢?rn假如一个数为:a.5rn1.当a为正数的时候:a如果为奇数,使用Round之后,则舍去5进位,即结果为:a+1。如:3.5——》4rn a如果是偶数,使用Round之后,则直接舍去5,即结果为:a。如4.5——》4rn2.当a为负数的时候:a如果是奇数,使用Round之后,则舍去5后退一位,也就是a-1;rn如:-3.5——》-4;rn a如果是偶数,使用Round之后,则直接舍去5,结果为a;rn如:-4.5——》-4;rn如果理解有错,请大神纠正。如果还有扩展性文档,也请大佬不吝赐教!当然,其详细用法请参考微软官方手册。rn地址为:https://msdn.microsoft.com/zh-tw/library/3s2d3xkk(VS.80).aspx

没有更多推荐了,返回首页