在 C# 中把浮點數轉換為 Int

Muhammad Maisam Abbas 2024年2月16日
  1. 使用 C# 中的顯式型別轉換將 Float 轉換為 Int
  2. 在 C# 中使用 Math.Ceiling() 函式將 Float 轉換為 Int
  3. 在 C# 中使用 Math.Floor() 函式將 Float 轉換為 Int
  4. 在 C# 中使用 Math.Round() 函式將 Float 轉換為 Int
在 C# 中把浮點數轉換為 Int

本教程將介紹在 C# 中將浮點數轉換為整數值的方法。

使用 C# 中的顯式型別轉換將 Float 轉換為 Int

型別轉換是一種將值從一種資料型別轉換為另一種資料型別的方法。Float 資料型別比 Int 資料型別佔用更多的位元組。因此,我們必須使用顯式型別轉換將 float 值轉換為 Int 值。以下程式碼示例向我們展示瞭如何使用 C# 中的顯式型別轉換將浮點數轉換為整數值。

using System;

namespace convert_float_to_int {
  class Program {
    static void Main(string[] args) {
      float f = 10.2f;
      int i = (int)f;
      Console.WriteLine("Converted float {0} to int {1}", f, i);
    }
  }
}

輸出:

Converted float 10.2 to int 10

我們使用 C# 中的顯式型別轉換將 float 變數 f 轉換為整數變數 i(int) 用於將 f 轉換為 i。這種方法的問題在於它會忽略小數點後的所有值。例如,浮點數 10.9 也將轉換為整數值 10

在 C# 中使用 Math.Ceiling() 函式將 Float 轉換為 Int

如果要考慮小數點後的值,則必須使用除顯式型別轉換之外的其他方法。Math.Ceiling() 函式用於將十進位制值轉換為下一個整數值。Math.Ceiling() 函式返回一個雙精度值,可以使用顯式型別轉換將其轉換為整數值。以下程式碼示例向我們展示瞭如何使用 C# 中的 Math.Ceiling() 函式將浮點數轉換為整數值。

using System;

namespace convert_float_to_int {
  class Program {
    static void Main(string[] args) {
      float f = 10.2f;
      int i = (int)Math.Ceiling(f);
      Console.WriteLine("Converted float {0} to int {1}", f, i);
    }
  }
}

輸出:

Converted float 10.8 to int 11

我們使用 C# 中的 Math.Ceiling() 函式將浮點變數 f 轉換為整數變數 i(int) 用於將 Math.Ceiling() 函式返回的雙精度值轉換為整數值。這種方法的問題在於,它總是返回下一個整數值。例如,浮點數 10.1 也將轉換為整數值 11

在 C# 中使用 Math.Floor() 函式將 Float 轉換為 Int

Math.Floor() 函式也可以與顯式型別轉換一起使用,以將浮點數轉換為 C# 中的整數值。Math.Floor() 函式用於將十進位制值轉換為前一個整數值。Math.Floor() 函式返回一個雙精度值,可以通過顯式型別轉換將其轉換為整數值。以下程式碼示例向我們展示瞭如何使用 C# 中的 Math.Floor() 函式將浮點數轉換為整數值。

using System;

namespace convert_float_to_int {
  class Program {
    static void Main(string[] args) {
      float f = 10.2f;
      int i = (int)Math.Floor(f);
      Console.WriteLine("Converted float {0} to int {1}", f, i);
    }
  }
}

輸出:

Converted float 10.2 to int 10

我們使用 C# 中的 Math.Floor() 函式將浮點變數 f 轉換為整數變數 i(int) 用於將 Math.Floor() 函式返回的雙精度值轉換為整數值。這種方法的問題在於,它總是返回前一個整數值。例如,浮點數 10.9 也將轉換為整數值 10

在 C# 中使用 Math.Round() 函式將 Float 轉換為 Int

上面討論的方法確實有效,但是每種方法都有一些缺點。如果要將浮點數轉換為整數值,但又不想更改資料,可以在 C# 中使用 Math.Round() 函式。顧名思義,Math.Round() 函式用於將十進位制值舍入到最接近的整數值。Math.Round() 返回一個雙精度值,可以通過顯式型別轉換將其轉換為整數資料型別。以下程式碼示例向我們展示瞭如何使用 C# 中的 Math.Round() 函式將浮點數轉換為整數值。

using System;

namespace convert_float_to_int {
  class Program {
    static void Main(string[] args) {
      float f = 10.8f;
      int i = (int)Math.Round(f);
      Console.WriteLine("Converted float {0} to int {1}", f, i);
    }
  }
}

輸出:

Converted float 10.8 to int 11

我們使用 C# 中的 Math.Round() 函式將浮點變數 f 轉換為整數變數 i(int) 用於將 Math.Round() 函式返回的雙精度值轉換為整數值。這是在 C# 中將浮點數轉換為整數值的最佳方法。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

相關文章 - Csharp Float

相關文章 - Csharp Integer