跳過到頁腳內容
.NET幫助

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

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.
$vbLabelText   $csharpLabel

進行轉型時要小心,因為如果數值超出目標類型範圍,可能會導致預期外的結果。

使用IronPDF應用數值類型

IronPDF是一個輕量型.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.
$vbLabelText   $csharpLabel

輸出PDF文件

了解C#數值類型,圖片#1

結論

從基本計算到生成的PDF版面自定義,數字類型是高效且有效的C#編程的重要組成部分。 它們作為數據操作、算法設計以及創建高質量PDF文檔的基礎構件。

想要親自體驗IronPDF嗎? 您可以從我們的30天免費試用開始。 它在開發用途中也是完全免費的,因此您可以真正了解它的功能。 如果您喜歡,目前IronPDF的價格低至liteLicense。 想省更多,看看Iron Suite,您可以以兩個價格獲得九個Iron Software工具。 祝開發愉快!

了解C#數值類型,圖片#2

常見問題解答

如何使用 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 庫。這允許您在開發期間探索其功能,然後決定是否購買許可。

Jacob Mellor, Team Iron 首席技術官
首席技術官

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me