
C# Numeric Types (開発者向けの仕組み)
C#において、数値型は数値を保存するために使用されるデータ型のセットであり、主に整数型と浮動小数点型の2つのカテゴリに分けることができます。それぞれのカテゴリには独自の特性と使用例があります。
数値型は、金融計算や通貨計算から複雑なアルゴリズムに至るまで、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、またはunsigned 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.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は、特にウェブ開発者を念頭に置いて設計された軽量 for .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.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 Suite)をチェックしてください。ここでは、9つのIron Softwareツール全てを2つの価格で手に入れることができます。 コーディングを楽しんでください!

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。
関連する記事


