C# 數值類型(開發者的工作原理)
在 C# 中,數值類型是用來儲存數字的一組資料類型,可分為兩大類:整數類型和浮點類型。每個類別都有其獨特的特性和使用案例。
數值類型構成 C# 中許多作業的基礎,從財務和貨幣計算到複雜的演算法。 如果您想要掌握 C#,就必須掌握這些值類型。
整數資料類型
整數資料類型用來儲存整數,可以是有符號(可同時儲存正數和負數)或無符號(僅可儲存正數)。 以下是 C# 中整數類型的細分:
byte
byte 是最小的整數類型。 這是一種無符號類型,預設值為 0,能夠儲存 0 到 255 的數值。
sbyte
sbyte 是 byte 的有符號對應詞。 它可以儲存 -128 到 127 的數值,預設值為 0。
short
short 是 16 位有符號的整數。 它的範圍比 byte 和 sbyte 更大,從 -32,768 到 32,767,預設值為 0。
ushort
ushort 是 short 的無符號對應詞。 它可以容納 0 到 65,535 的數值。其預設值也是 0。
int
int 類型是 32 位元有符號的整數類型,範圍從 -2,147,483,648 到 2,147,483,647。int 類型的整數變數的預設值是 0。
uint
uint 是"無符號整數"的縮寫,可保存 0 到 4,294,967,295 的值。其預設值為 0。
long
long 是一種 64 位元有符號整數類型,能夠儲存 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的值。long 的預設值是 0L。
ulong
ulong 或無符號 long 可以儲存 0 到 18,446,744,073,709,551,615 的數值。其預設值為 0UL。
浮點數類型
浮點類型用來儲存有小數點的數字。 浮點數提供了比整數類型更廣泛的數值範圍,但在精確度上有所取捨。 以下是 C# 中的浮點類型:
float
float 是 32 位浮點類型。 它可以表示大約 1.5 x 10^-45 到 3.4 x 10^38 的數值,精確度為 7 位數。 類型為 float 的浮點變數的預設值為 0.0f。
double
double 類型是一種 64 位元浮點類型。 它可以表示大約 5.0 x 10^-324 到 1.7 x 10^308 的數值,精確度為 15-16 位數。 double 的預設值為 0.0d。
decimal
decimal 類型是 128 位元的資料類型。 在處理需要高精度的財務計算時,經常會用到。 它可以表示大約 1.0 x 10^-28 到 7.9 x 10^28 的數值,精確度為 28-29 位數。 decimal 類型的預設值為 0.0m。
瞭解原生大小整數類型
原生大小的整數類型是 C# 中的特殊類型,其大小會根據程式碼執行的平台而有所不同。 這些工具的設計目的在於最有效率地使用記憶體儲存整數值。
整數指針
IntPtr 是有符號的整數類型,其寬度與指標相同。 這表示在 32 位元平台上是 32 位元,在 64 位元平台上是 64 位元。 這在處理指標或記憶體相關任務時非常有用,IntPtr 的預設值為 0。
UIntPtr
UIntPtr 是 IntPtr 的無符號對應項目,其大小也與指標相同。 它在相同的平台上提供與 IntPtr 相同的值範圍,但只針對非負數值。 UIntPtr 的預設值也是 0。
在整數和浮點類型之間轉換。
根據使用情況,在程式碼中使用正確的資料類型非常重要。 在許多情況下,您可能有一個類型的值,但需要將它當作另一個類型來使用。
當要轉換的值適合新的資料類型而不會遺失任何資訊時,隱含轉換會自動發生。 例如,您可以隱式地將 int 轉換為 long,因為 long 可以儲存與 int 相同的值。
當資料有遺失的風險時,就需要明確的轉換,也稱為轉換。 例如,如果 long 的值大於 int 所能容納的值,將 long 轉換為 int 可能會導致資料遺失。
要明確地將值從一種類型強制轉換為另一種類型,可以使用強制轉換運算子 ():
long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast from long to int.
// Be cautious if myLong > 2,147,483,647 as it may cause data loss.
long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast from long to int.
// Be cautious if myLong > 2,147,483,647 as it may cause data loss.
Dim myLong As Long = 5000L
Dim myInt As Integer = CInt(myLong) ' This is an explicit cast from long to int.
' Be cautious if myLong > 2,147,483,647 as it may cause data loss.
在進行轉換時要小心,因為如果值超出目標類型的範圍,可能會導致意想不到的結果。
使用 IronPDF 應用數值類型。
IronPDF 是專為 Web 開發人員設計的輕量級 .NET PDF 函式庫。 它讓 PDF 檔案的讀取、寫入和處理變得輕鬆簡單,能夠將各種檔案類型轉換成 PDF 內容,而且您可以在桌面和網頁的 .NET 專案中使用它。 最棒的是 - 可在開發環境中免費試用。
讓我們來看看如何使用 IronPDF 在 C# 中實現類型。
定位和大小元素
在這個範例中,我們將調整頁面上元素的位置和大小。 在 IronPDF 中,使用浮點類型定義坐標。
using IronPdf;
var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop = 50; // Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50; // Set bottom margin in points.
var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf"); // Save the generated PDF to the specified path.
using IronPdf;
var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop = 50; // Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50; // Set bottom margin in points.
var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf"); // Save the generated PDF to the specified path.
Imports IronPdf
Private htmlToPdf = New ChromePdfRenderer()
htmlToPdf.RenderingOptions.MarginTop = 50 ' Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50 ' Set bottom margin in points.
Dim document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>")
document.SaveAs("C:\numericTypes.pdf") ' Save the generated PDF to the specified path.
輸出 PDF 檔案
結論
從基本的計算到自訂產生 PDF 的版面,數字類型是有效且高效率 C# 程式設計的重要部分。 這些工具是資料處理、演算法設計和高品質 PDF 文件製作的基石。
想要使用 IronPDF 嗎? 您可以從我們的 30天免費試用開始。 它還可以完全免費用於開發目的,讓您真正能一窺其真面目。 如果您喜歡,IronPDF 的起價低至 liteLicense。 若想節省更多,請參閱 Iron Suite,您可以兩個工具的價格獲得全部九個 Iron Software 工具。 祝您編碼愉快!
常見問題解答
如何使用 C# 將 HTML 內容轉換為 PDF?
您可以使用 IronPDF 的 RenderHtmlAsPdf 方法,將 HTML 內容轉換為 PDF,在 C# 中將 HTML 字串直接轉換為 PDF 文件。此外,您還可以使用 RenderHtmlFileAsPdf 將 HTML 文件進行轉換。
C# 中整數類型和浮點類型有何主要區別?
在 C# 中,整數類型用於整數,包括 byte、int 和 long 類型。浮點類型如 float 和 double 處理小數點數字,範圍更廣但精度較低。
為什麼在 C# 中會選擇使用十進制類型而非雙精度類型?
十進制類型提供更高的精度,因此在需要精確小數表示的財務計算中是理想的選擇。它可以表示 28-29 位數的精度,而雙精度類型只有 15-16 位。
原生大小的整數類型如何使 C# 開發人員受益?
像 IntPtr 和 UIntPtr 這樣的原生大小整數類型會根據平台調整其大小,提供內存效率,用於平台特定情況下處理內存地址和指針等任務。
數值類型在 .NET 的 PDF 生成中扮演什麼角色?
.NET 的數值類型在 PDF 生成中對定義 PDF 元素的版式至關重要。例如,可以使用浮點數字指定 PDF 頁面中文字和圖像的精確大小和位置,配合 IronPDF 使用。
什麼是 C# 中的隱式轉換和顯式轉換?
C# 中的隱式轉換發生在目的類型可以在不丟失數據的情況下存儲源值時。顯式轉換或類型強制(casting)需要手動干預(通常使用強制運算符),因為可能會有數據丟失。
如何評估適合我項目的 .NET PDF 庫?
您可以利用 IronPDF 提供的 30 天免費試用來評估 .NET PDF 庫。這允許您在開發期間探索其功能,然後決定是否購買許可。



