C#中Math.Round()函數的簡單解析

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章