フッターコンテンツにスキップ
.NETヘルプ

C# Round double to int(開発者向けの動作方法)

C#でのdoubleを整数に丸めることは、プログラミングにおいて基本的なタスクであり、特に計算がdouble値を生成し、さらなる操作のために整数値が必要な場合に一般的です。 このプロセスは、小数点以下を含む可能性のあるdouble値を最も近い整数に変換することを伴います。 これを行うには、指定された丸めの基準に準拠するさまざまな方法を使用できます。

このガイドを通じて、C#でdouble値をint桁に丸めるために使用される異なる戦略と関数を探求し、各方法の意味と適用を理解するのに役立ちます。 C#でPDFドキュメントを作成するための強力なツールであるIronPDF .NET PDF Libraryの機能も探求します。

丸めメソッドの理解

C#では、Math.Roundメソッドが、double値を最も近い整数に丸めるための主要なツールです。 この関数は、指定された特定の数の小数桁数と丸め戦略を指定できるオーバーロードを通じて、丸めプロセスの制御に高い柔軟性を提供します。 例えば、double値が2つの整数のちょうど中間にある場合、丸めの基準は、その値が繰り上げられるか繰り下げられるかを決定します。

こちらがMath.Roundメソッドの基本例です。

public static void Main()
{
    double myDouble = 9.5;
    int myInt = (int)Math.Round(myDouble);
    Console.WriteLine("The rounded integer value is: " + myInt);
}
public static void Main()
{
    double myDouble = 9.5;
    int myInt = (int)Math.Round(myDouble);
    Console.WriteLine("The rounded integer value is: " + myInt);
}
Imports System

Public Shared Sub Main()
	Dim myDouble As Double = 9.5
	Dim myInt As Integer = CInt(Math.Truncate(Math.Round(myDouble)))
	Console.WriteLine("The rounded integer value is: " & myInt)
End Sub
$vbLabelText   $csharpLabel

このソースコードでは、Math.Roundを使用してdouble値9.5を最も近い整数に丸めています。 このメソッドは、最も近い数に丸められるため、10を返します。 これは、2つの整数値のちょうど中間にある正の値を丸める際の予想結果です。

丸めと明示的な変換

C#でdouble値を整数値に変換するもう一つの一般的なアプローチは、明示的な変換です。 明示的な変換は、doubleを直接intにキャストし、小数点以下を切り捨てます。 この方法は、最も近い整数ではなく、最も近い小さい整数に丸めることを意味します。 このメソッドは、最も近い整数値を考慮せずに小数桁を削除するだけでよい場合に有効です。

ここでは、明示的な変換を行う方法を示します。

public static void Main()
{
    double myDouble = 9.9;
    int myInt = (int)myDouble;
    Console.WriteLine("The integer value after explicit conversion is: " + myInt);
}
public static void Main()
{
    double myDouble = 9.9;
    int myInt = (int)myDouble;
    Console.WriteLine("The integer value after explicit conversion is: " + myInt);
}
Imports System

Public Shared Sub Main()
	Dim myDouble As Double = 9.9
	Dim myInt As Integer = CInt(Math.Truncate(myDouble))
	Console.WriteLine("The integer value after explicit conversion is: " & myInt)
End Sub
$vbLabelText   $csharpLabel

上記の例では、明示的な変換が単に小数桁を9.9から切り捨て、小さい整数を生成するため、出力は9になります。 この方法は迅速ですが、指定された丸めの基準に従った正確な丸めが必要な場合には適切ではないことがあります。

特定の丸めニーズに対応する他の方法の使用

Math.Roundや明示的な変換に加えて、C#は他の方法でdouble値を丸めることができ、さまざまなニーズに対応しています。 例えば、Math.FloorMath.Ceilingは、それぞれ常に小さい整数や大きい整数にdouble値を丸めるオプションを提供します。 Math.Floorは、負の値が含まれている場合でも常に繰り下げるのに特に役立ちますが、Math.Ceilingは繰り上げを保証します。

これらのメソッドの例を見てみましょう。

public static void Main()
{
    double myDouble = 9.2;
    int floorInt = (int)Math.Floor(myDouble);
    int ceilingInt = (int)Math.Ceiling(myDouble);
    Console.WriteLine("Rounded down: " + floorInt);
    Console.WriteLine("Rounded up: " + ceilingInt);
}
public static void Main()
{
    double myDouble = 9.2;
    int floorInt = (int)Math.Floor(myDouble);
    int ceilingInt = (int)Math.Ceiling(myDouble);
    Console.WriteLine("Rounded down: " + floorInt);
    Console.WriteLine("Rounded up: " + ceilingInt);
}
Imports System

Public Shared Sub Main()
	Dim myDouble As Double = 9.2
	Dim floorInt As Integer = CInt(Math.Truncate(Math.Floor(myDouble)))
	Dim ceilingInt As Integer = CInt(Math.Truncate(Math.Ceiling(myDouble)))
	Console.WriteLine("Rounded down: " & floorInt)
	Console.WriteLine("Rounded up: " & ceilingInt)
End Sub
$vbLabelText   $csharpLabel

上述のコードでは、Math.Floor9.2から9を返し、Math.Ceilingは次の正の整数に向かって10を返します。 これらの方法は、丸め戦略が高いか低い整数値を好む必要がある場合に不可欠です。

IronPDF の紹介

IronPDF Featuresを探索し、C#開発者がHTMLから直接PDFファイルを作成・管理できる方法を発見してください。 Chromeレンダリングエンジンを使用して、PDFが、Webブラウザでの表示と同様に見えるようにします。 このため、Webベースのレポートを作成するのに最適です。 IronPDFは、デジタル署名の追加、ドキュメントレイアウトの変更、カスタムヘッダー、フッター、またはウォーターマークを挿入するなどの複雑なタスクを処理できます。 HTML、CSS、JavaScript、および画像などのなじみのあるWeb技術を使用してPDFドキュメントを作成または編集することができるため、使いやすいです。

IronPDFの主な機能は、レイアウトとスタイルを維持したままIronPDFを使用してHTMLをPDFに変換することです。 レポート、請求書、文書化などさまざまなWebコンテンツからPDFを生成することができ、HTMLファイル、URL、またはHTML文字列をPDFファイルに変換します。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

C#の丸め機能とともにIronPDFを統合するには、IronPDFのPDF生成機能をC#の数学演算と組み合わせることができます。 これは、金融または報告アプリケーションで数値データを明確かつ正確に提示する必要のある場合に特に有用です。 例えば、会計基準に準拠した読み取りやすさを確保するために、数値を最も近い整数に丸める請求書や財務概要を生成することができます。

コード例

こちらは、丸められた数値データを含むPDFを作成するためにIronPDFをC#のMath.Roundメソッドと一緒に使用する方法の例です。

using IronPdf;
using System;
public class PDFGenerationWithRounding
{
    public static void Main()
    {
        License.LicenseKey = "License-Key";
        // Initialize the HTML to PDF renderer
        var renderer = new ChromePdfRenderer();
        // Example data
        double transactionAmount = 123.456;
        int roundedAmount = (int)Math.Round(transactionAmount);
        // HTML content including the rounded amount
        string htmlContent = $@"
            <html>
            <head>
                <title>Transaction Summary</title>
            </head>
            <body>
                <h1>Transaction Details</h1>
                <p>Original Amount: ${transactionAmount}</p>
                <p>Rounded Amount: ${roundedAmount}</p>
            </body>
            </html>";
        // Convert the HTML to a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("TransactionSummary.pdf");
        Console.WriteLine("The PDF document has been generated with rounded figures.");
    }
}
using IronPdf;
using System;
public class PDFGenerationWithRounding
{
    public static void Main()
    {
        License.LicenseKey = "License-Key";
        // Initialize the HTML to PDF renderer
        var renderer = new ChromePdfRenderer();
        // Example data
        double transactionAmount = 123.456;
        int roundedAmount = (int)Math.Round(transactionAmount);
        // HTML content including the rounded amount
        string htmlContent = $@"
            <html>
            <head>
                <title>Transaction Summary</title>
            </head>
            <body>
                <h1>Transaction Details</h1>
                <p>Original Amount: ${transactionAmount}</p>
                <p>Rounded Amount: ${roundedAmount}</p>
            </body>
            </html>";
        // Convert the HTML to a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("TransactionSummary.pdf");
        Console.WriteLine("The PDF document has been generated with rounded figures.");
    }
}
Imports IronPdf
Imports System
Public Class PDFGenerationWithRounding
	Public Shared Sub Main()
		License.LicenseKey = "License-Key"
		' Initialize the HTML to PDF renderer
		Dim renderer = New ChromePdfRenderer()
		' Example data
		Dim transactionAmount As Double = 123.456
		Dim roundedAmount As Integer = CInt(Math.Truncate(Math.Round(transactionAmount)))
		' HTML content including the rounded amount
		Dim htmlContent As String = $"
            <html>
            <head>
                <title>Transaction Summary</title>
            </head>
            <body>
                <h1>Transaction Details</h1>
                <p>Original Amount: ${transactionAmount}</p>
                <p>Rounded Amount: ${roundedAmount}</p>
            </body>
            </html>"
		' Convert the HTML to a PDF document
		Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
		pdf.SaveAs("TransactionSummary.pdf")
		Console.WriteLine("The PDF document has been generated with rounded figures.")
	End Sub
End Class
$vbLabelText   $csharpLabel

C#でのdoubleからintへの丸め(開発者向け操作方法):図1 - Math.roundをIronPDFと組み合わせて使用した例の請求書PDF

この例では、IronPDFが単純なHTML文字列をPDFファイルにレンダリングし、取引額を最も近い整数に丸めた動的データを組み込んでいます。 このアプローチは非常に適応性が高く、プロセスの最前線での精度と使いやすさを備えた、特定のニーズに合わせたより複雑なドキュメントを開発者が作成できるようにします。

結論

C#でのdoubleからintへの丸め(開発者向け操作方法):図2 - IronPDFライセンスページ

C#でのdoubleからintへの丸めは、double値の性質、丸めの状況、およびアプリケーションで必要な精度に影響される多用途なプロセスです。 最も近い整数への丸めにはMath.Roundを使用し、直接切り捨てるには明示的な変換を使用するか、特定の丸め方向にはMath.FloorMath.Ceilingなどの他の方法を使用するかにかかわらず、C#はdouble値を効果的に丸めるための方法を提供します。 IronPDFはIronPDFの無料トライアルを持ち、価格は$799から始まります。

よくある質問

C#でどのようにdoubleを整数に変換できますか?

C#では、指定された規約に従って最も近い整数に丸めるMath.Roundメソッドや、小数部分を切り捨てる明示的変換を用いてdoubleを整数に変換できます。

C#におけるMath.FloorとMath.Ceilingの違いは何ですか?

C#では、Math.Floorはdoubleを最も近い小さい整数に丸め、Math.Ceilingはdoubleを最も近い大きい整数に丸めます。

C#でPDFライブラリを使用してPDF文書を生成する方法は?

IronPDFを使用して、C#でPDF文書を生成できます。HTML文字列、ファイル、またはURLをChrome Rendering Engineを使って正確なレイアウトでPDFに変換できます。

C#でdoubleを整数に丸めてPDFを生成する例を提供できますか?

もちろんです!Math.Roundを使ってdoubleを最も近い整数に丸め、IronPDFを使ってPDFを生成できます。例: double myDouble = 12.7; int roundedInt = (int)Math.Round(myDouble); その後、この整数を使用してIronPDFでPDFを作成します。

PDFでの財務報告には、丸めがどのような役割を果たしますか?

丸めは数値の正確性を確保するために財務報告において重要です。IronPDFはC#の丸めメソッドと統合でき、丸めた数値を正確に表すPDFを生成することができます。

C#で明示的な変換は小数をどのように処理しますか?

明示的な変換はC#でdoubleをintに直接キャストし、小数部分を切り捨て、最も近い小さい整数に変換します。

HTMLからPDFへの変換におけるIronPDFの使用目的は何ですか?

IronPDFは、HTMLからPDFへの変換に使用され、出力PDFが元のウェブコンテンツに近づくことを保証します。Chrome Rendering Engineを使って正確なレイアウトをレンダリングし、C#でのウェブベースのレポート生成に最適です。

C#でMath.RoundよりMath.Floorを使うときはいつですか?

C#で結果を必ず最も近い小さい整数に丸める必要がある場合、特定の規約に従って最も近い整数に丸めるMath.Roundとは異なり、Math.Floorを使用します。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。