关闭

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

标签: c#netMath-RoundRound
349人阅读 评论(0) 收藏 举报
分类:

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

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

笔记42--保留小数点后x位、Math.ceil()、floor()、round()、代码调用返回键

1、Math.ceil():向上取整
  • mwj_88
  • mwj_88
  • 2014-06-13 21:16
  • 9173

java Math.round() Java中的四舍五入函数

public class MathTest {        public static void main(String[] args) {       &...
  • xusongsong520
  • xusongsong520
  • 2013-01-16 12:41
  • 36295

Lua的math函数库及一些自定义扩展

math函数 name describe e.g result abs 取绝对值 math.abs(-2015) 2015 ceil 向上取整 ...
  • David_Dai_1108
  • David_Dai_1108
  • 2016-02-25 20:16
  • 4547

C#中Math.Round()实现中国式四舍五入

C#中Math.Round()实现中国式四舍五入 C#中Math.Round()实现中国式四舍五入   C#中的Math.Round()并不是使用的"四舍五入"法。其实在VB、VBScr...
  • u010341066
  • u010341066
  • 2015-11-05 20:37
  • 275

C#中Math.Round()实现中国式四舍五入

C#中Math.Round()实现中国式四舍五入   C#中的Math.Round()并不是使用的"四舍五入"法。其实在VB、VBScript、C#、J#、T-SQL中Round函数都是采用B...
  • wxw6782829
  • wxw6782829
  • 2016-12-28 10:47
  • 1138

C#中Math.Round()实现中国式四舍五入

转自:http://www.cnblogs.com/fanyong/archive/2013/05/30/chinese_round.html
  • chelen_jak
  • chelen_jak
  • 2014-07-03 11:51
  • 3147

C#中Math.Round()实现中国式四舍五入

C#中Math.Round()实现中国式四舍五入 C#中Math.Round()实现中国式四舍五入   C#中的Math.Round()并不是使用的"四舍五入"法。其实在VB、VBScr...
  • SunCherryDream
  • SunCherryDream
  • 2015-05-25 16:26
  • 2786

Math.round()函数

Math.round()可以简单的理解为四舍五入函数,在负数的情况下0.5不进位。 Returns the closest long to the argument. The result is...
  • VirusLL
  • VirusLL
  • 2017-05-14 15:00
  • 299

c#中math各种函数对整值不同的处理方法及一些说明(优化分页的时候特别用到)

在自定义分页的时候,需要取到数据表的总行数,然后除以也显示的行数,得出总显示页数。这里就要用到math.ceiling()方法。 用法:Math.Ceiling((double)recordCoun...
  • jintougao
  • jintougao
  • 2013-05-13 15:34
  • 2563

【原创】开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式

本博客所有文章分类的总目录:【总目录】本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:【目录】开源Math.NET基础数学类库使用总目录 前言   上一篇文章,我们介绍...
  • asxinyu_usst
  • asxinyu_usst
  • 2016-02-20 08:54
  • 613
    个人资料
    • 访问:464次
    • 积分:25
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档