在 C# 中將雙精度值四捨五入為整數值
-
使用 C# 中的
Math.Ceiling()
函式將雙精度值四捨五入為整數值 -
使用 C# 中的
Math.Floor()
函式將雙精度值四捨五入為整數值 -
使用 C# 中的
Math.Round()
函式將雙精度值四捨五入為整數值
本教程將討論在 C# 中將雙精度值四捨五入為整數值的方法。
使用 C# 中的 Math.Ceiling()
函式將雙精度值四捨五入為整數值
如果要將整數值 2.5
舍入為整數值 3
,則必須使用 Math.Ceiling()
函式。Math.Ceiling()
函式將十進位制值四捨五入到下一個整數值。下面的程式碼示例向我們展示瞭如何使用 C# 中的 Math.Ceiling()
函式將雙精度值四捨五入為整數值。
using System;
namespace round_double_to_intt
{
class Program
{
static void Main(string[] args)
{
double d = 2.5;
int i = (int)Math.Ceiling(d);
Console.WriteLine("Original Value = {0}", d);
Console.WriteLine("Rounded Value = {0}", i);
}
}
}
輸出:
Original Value = 2.5
Rounded Value = 3
我們使用 C# 中的 Math.Ceiling()
函式將雙精度值 2.5
舍入為整數值 3
。這種方法的問題在於,Math.Ceiling()
函式會將小數值 2.3
轉換為整數值 3
。
使用 C# 中的 Math.Floor()
函式將雙精度值四捨五入為整數值
如果想將雙精度值 2.5
舍入為整數值 2
,則必須使用 Math.Floor()
函式。Math.Floor()
函式將一個小數值舍入為前一個整數值。下面的程式碼示例向我們展示瞭如何使用 C# 中的 Math.Floor()
函式將雙精度值四捨五入為整數值。
using System;
namespace round_double_to_intt
{
class Program
{
static void Main(string[] args)
{
double d = 2.5;
int i = (int)Math.Floor(d);
Console.WriteLine("Original Value = {0}", d);
Console.WriteLine("Rounded Value = {0}", i);
}
}
}
輸出:
Original Value = 2.5
Rounded Value = 2
我們使用 C# 中的 Math.Floor()
函式將雙精度值 2.5
舍入為整數值 2
。這種方法的問題在於,Math.Floor()
函式會將十進位制值 2.9
轉換為整數值 2
。
使用 C# 中的 Math.Round()
函式將雙精度值四捨五入為整數值
在 C# 中,Math.Round()
函式可用於將雙精度值四捨五入最接近的整數值。Math.Round()
函式返回一個雙精度值,該值將四捨五入到最接近的整數。下面的程式碼示例向我們展示瞭如何使用 C# 中的 Math.Round()
函式將雙精度值四捨五入為整數值。
using System;
namespace round_double_to_intt
{
class Program
{
static void Main(string[] args)
{
double d = 2.9;
int i = (int)Math.Round(d);
Console.WriteLine("Original Value = {0}", d);
Console.WriteLine("Rounded Value = {0}", i);
}
}
}
輸出:
Original Value = 2.9
Rounded Value = 3
我們使用 C# 中的 Math.Round()
函式將小數值 2.9
舍入為整數值 3
。我們使用型別轉換將 Math.Round()
函式返回的雙精度值轉換為整數值。這種方法只有一個問題。Math.Round()
函式將十進位制值 2.5
轉換為整數值 2
。
我們可以通過在 Math.Round()
函式的引數中指定 MidpointRounding.AwayFromZero
來解決此問題。下面的程式碼示例向我們展示瞭如何使用 C# 中的 Math.Round()
函式將 2.5
舍入為 3
。
using System;
namespace round_double_to_intt
{
class Program
{
static void Main(string[] args)
{
double d = 2.5;
int i = (int)Math.Round(d, MidpointRounding.AwayFromZero);
Console.WriteLine("Original Value = {0}", d);
Console.WriteLine("Rounded Value = {0}", i);
}
}
}
輸出:
Original Value = 2.5
Rounded Value = 3
通過在 C# 中的 Math.Round()
函式中指定 MidpointRounding.AwayFromZero
引數,將十進位制值 2.5
舍入為整數值 3
。
上面討論的所有方法在不同的特定情況下都是有用的。將雙精度值四捨五入為整數值的最壞方法是通過顯式型別轉換。這是因為顯式型別轉換會忽略小數點後的所有值,而只返回小數點前的整數值。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn