利用C#實現(xiàn)將小數(shù)值四舍五入為整數(shù)
一、需求說明
在項目的開發(fā)中,遇到一些除法計算內(nèi)容會產(chǎn)生小數(shù)值,但是又需要根據(jù)項目的實際情況將這些小數(shù)內(nèi)容化為整數(shù),方便后續(xù)內(nèi)容的實現(xiàn)。
二、需求分析
將小數(shù)內(nèi)容轉(zhuǎn)為整數(shù)【但是轉(zhuǎn)為小數(shù)又分為幾種情況】:
①將小數(shù)取為下一個整數(shù);
②將小數(shù)只取整數(shù);
③標準的四舍五入取整;
三、實現(xiàn)方法
3.1、將小數(shù)取為下一個整數(shù)
Math.Ceiling 方法 (System) | Microsoft Learn
| Ceiling(Decimal) | 返回大于或等于指定的十進制數(shù)的最小整數(shù)值。 |
| Ceiling(Double) | 返回大于或等于指定的雙精度浮點數(shù)的最小整數(shù)值。 |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test_HalfAdjust
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("---------C#中常用的四舍五入函數(shù)介紹---------");
double value1 = 3.01;
double value2 = 3.49;
double value3 = 3.50;
double value4 = 3.51;
double value5 = 3.99;
double value6 = -0.01;
Console.WriteLine("---- Math.Ceiling()----將雙精度的內(nèi)容統(tǒng)一舍為加1的整數(shù)");
string result1=string.Format("{0}={1}; {2}={3}; {4}={5}; {6}={7}; {8}={9}; {10}={11}\n", value1,Math.Ceiling(value1),
value2,Math.Ceiling(value2), value3,Math.Ceiling(value3), value4,Math.Ceiling(value4),
value5,Math.Ceiling(value5),value6,Math.Ceiling(value6));
Console.WriteLine(result1);
Console.ReadLine();
}//Class_end
}
}運行結(jié)果如下:

3.2、將小數(shù)只取整數(shù)
Math.Floor 方法 (System) | Microsoft Learn
| Floor(Double) | 返回小于或等于指定雙精度浮點數(shù)的最大整數(shù)值。 |
| Floor(Decimal) | 返回小于或等于指定小數(shù)的最大整數(shù)值。 |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test_HalfAdjust
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("---------C#中常用的四舍五入函數(shù)介紹---------");
double value1 = 3.01;
double value2 = 3.49;
double value3 = 3.50;
double value4 = 3.51;
double value5 = 3.99;
double value6 = -0.01;
Console.WriteLine("---- Math.Floor()----將雙精度的內(nèi)容統(tǒng)一舍為小數(shù)點前的整數(shù)");
string result2 = string.Format("{0}={1}; {2}={3}; {4}={5}; {6}={7}; {8}={9}; {10}={11}\n", value1, Math.Floor(value1),
value2, Math.Floor(value2), value3, Math.Floor(value3), value4, Math.Floor(value4),
value5, Math.Floor(value5), value6, Math.Floor(value6));
Console.WriteLine(result2);
Console.ReadLine();
}//Class_end
}
}運行結(jié)果如下:

3.3、標準的四舍五入取整
Math.Round 方法 (System) | Microsoft Learn
| Round(Double, Int32, MidpointRounding) | 使用指定的舍入約定將雙精度浮點值舍入到指定數(shù)量的小數(shù)位數(shù) |
| Round(Decimal, Int32, MidpointRounding) | 使用指定的舍入約定將十進制值舍入到指定數(shù)量的小數(shù)位數(shù) |
| Round(Double, MidpointRounding) | 使用指定的舍入約定將雙精度浮點值舍入為整數(shù) |
| Round(Double, Int32) | 將雙精度浮點值舍入到指定數(shù)量的小數(shù)位,并將中點值舍入到最接近的偶數(shù) |
| Round(Decimal, Int32) | 將小數(shù)值舍入到指定數(shù)量的小數(shù)位,并將中點值舍入到最接近的偶數(shù) |
| Round(Double) | 將雙精度浮點值舍入到最接近的整數(shù)值,并將中點值舍入到最接近的偶數(shù) |
| Round(Decimal) | 將小數(shù)值舍入到最接近的整數(shù)值,并將中點值舍入到最接近的偶數(shù) |
| Round(Decimal, MidpointRounding) | 使用指定的舍入約定將十進制值舍入為整數(shù) |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test_HalfAdjust
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("---------C#中常用的四舍五入函數(shù)介紹---------");
double value1 = 3.01;
double value2 = 3.49;
double value3 = 3.50;
double value4 = 3.51;
double value5 = 3.99;
double value6 = -0.01;
Console.WriteLine("---- Math.Round()----將雙精度的內(nèi)容按照四舍五入的整數(shù)");
string result3 = string.Format("{0}={1}; {2}={3}; {4}={5}; {6}={7}; {8}={9}; {10}={11}\n", value1, Math.Round(value1),
value2, Math.Round(value2), value3, Math.Round(value3), value4, Math.Round(value4),
value5, Math.Round(value5), value6, Math.Round(value6));
Console.WriteLine(result3);
Console.ReadLine();
}//Class_end
}
}運行結(jié)果如下:

到此這篇關于利用C#實現(xiàn)將小數(shù)值四舍五入為整數(shù)的文章就介紹到這了,更多相關C#小數(shù)值四舍五入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#實現(xiàn)Json轉(zhuǎn)DataTable并導出Excel的方法示例
這篇文章主要介紹了C#實現(xiàn)Json轉(zhuǎn)DataTable并導出Excel的方法,結(jié)合實例形式總結(jié)分析了Json轉(zhuǎn)換DataTable,以及DataTable導出Excel相關操作技巧,需要的朋友可以參考下2019-02-02
WinForm自定義函數(shù)FindControl實現(xiàn)按名稱查找控件
這篇文章主要介紹了WinForm自定義函數(shù)FindControl實現(xiàn)按名稱查找控件,需要的朋友可以參考下2014-08-08
淺析C#中靜態(tài)方法和非靜態(tài)方法的區(qū)別
C#靜態(tài)方法與非靜態(tài)方法的區(qū)別不僅僅是概念上的,那么他們有什么具體的區(qū)別呢?讓我們通過本文向大家介紹下C#中靜態(tài)方法和非靜態(tài)方法的區(qū)別,一起看看吧2017-09-09
C# MVC 使用LayUI實現(xiàn)下拉框二級聯(lián)動的功能
這篇文章主要介紹了C# MVC 如何使用LayUI實現(xiàn)下拉框二級聯(lián)動,文中示例代碼非常詳細,供大家參考和學習,感興趣的朋友可以了解下2020-06-06

