.NET ヘルプ

C# 数学(開発者向けの使い方)

更新済み 12月 12, 2023
共有:

C#は、動的でスケーラブルなアプリケーションを構築するための人気のあるプログラミング言語の一つです。 この言語の強みの一つは、特に数学関数を含む豊富な組み込み関数ライブラリにあります。 このチュートリアルでは、C#が提供するさまざまな数学関数について詳しく掘り下げ、あなたがそれに精通するのをお手伝いします。 数学クラス 一般的な数学方程式を簡単に実行する方法。

はじめに

C# では、Math クラスSystem 名前空間 内で使用できる static クラスです。 このクラスには、開発者が一から書く必要なく数学的な操作を行うのを助けるために設計された、多数のメソッドが含まれています。

数学クラスへのアクセス方法

Mathクラスにアクセスするには、public class ProgramにSystem名前空間を含める必要があります。 以下の手順に従ってください:

using System;
public class Program
{
//public static void Main method
    public static void Main()
    {
        // Your code goes here
    }
}
using System;
public class Program
{
//public static void Main method
    public static void Main()
    {
        // Your code goes here
    }
}
Imports System
Public Class Program
'public static void Main method
	Public Shared Sub Main()
		' Your code goes here
	End Sub
End Class
VB   C#

public static void main メソッド内で、Math クラスから任意の関数を呼び出すことができます。および出力パラメータを使用します。出力パラメータは浮動小数点数でもかまいません。

基本的な数学関数

基本的な数学関数をC#で見てみましょう。

絶対値: 指定された数の絶対値とは、その符号を除いた数値です。 関数 Math.Abs() は数値を受け取り、その絶対値を返します。

double val = -10.5;
double absValue = Math.Abs(val); //function returns absolute value
Console.WriteLine(absValue); // Output: 10.5
double val = -10.5;
double absValue = Math.Abs(val); //function returns absolute value
Console.WriteLine(absValue); // Output: 10.5
Dim val As Double = -10.5
Dim absValue As Double = Math.Abs(val) 'function returns absolute value
Console.WriteLine(absValue) ' Output: 10.5
VB   C#

平方根: 特定の数の平方根を求めるには、Math.Sqrt を使用します。()関数 この機能は平方根を計算し、次の例に示されているようにdouble値を返します。

double value = 16;
double sqrtValue = Math.Sqrt(value);
Console.WriteLine(sqrtValue); // Output: 4
double value = 16;
double sqrtValue = Math.Sqrt(value);
Console.WriteLine(sqrtValue); // Output: 4
Dim value As Double = 16
Dim sqrtValue As Double = Math.Sqrt(value)
Console.WriteLine(sqrtValue) ' Output: 4
VB   C#

数値を丸める: C# は、数値を最も近い整数または指定した小数点以下の桁数に丸めるためのいくつかの関数を提供します。 Math.Round()** この関数は浮動小数点値を最も近い整数または整数部分に丸めます。

double value = 10.75;
double roundedValue = Math.Round(value); // rounds to the nearest whole number
Console.WriteLine(roundedValue); // Output: 11
double value = 10.75;
double roundedValue = Math.Round(value); // rounds to the nearest whole number
Console.WriteLine(roundedValue); // Output: 11
Dim value As Double = 10.75
Dim roundedValue As Double = Math.Round(value) ' rounds to the nearest whole number
Console.WriteLine(roundedValue) ' Output: 11
VB   C#

三角関数と双曲線関数

基本的な算術演算に加えて、C#のMathクラスは、三角関数および双曲線関数の範囲も提供します。

サイン値: 指定された角度のサイン値を求める (ラジアンで)、Math.Sinを使用()**.

double angle = Math.PI / 2; // 90 degrees
double sineValue = Math.Sin(angle);
Console.WriteLine(sineValue); // Output: 1
double angle = Math.PI / 2; // 90 degrees
double sineValue = Math.Sin(angle);
Console.WriteLine(sineValue); // Output: 1
Dim angle As Double = Math.PI / 2 ' 90 degrees
Dim sineValue As Double = Math.Sin(angle)
Console.WriteLine(sineValue) ' Output: 1
VB   C#

双曲線関数: これらは三角関数に似ていますが、双曲線方程式に使用されます。 いくつかの例には、Math.Sinhが含まれます() (双曲線正弦)、Math.Cosh() (双曲線余弦)、Math.Tanh()** (双曲線正接).

double value = 1;
double hyperbolicSine = Math.Sinh(value);
double hyperbolicCosine = Math.Cosh(value);
double hyperbolicTangent = Math.Tanh(value);
double value = 1;
double hyperbolicSine = Math.Sinh(value);
double hyperbolicCosine = Math.Cosh(value);
double hyperbolicTangent = Math.Tanh(value);
Dim value As Double = 1
Dim hyperbolicSine As Double = Math.Sinh(value)
Dim hyperbolicCosine As Double = Math.Cosh(value)
Dim hyperbolicTangent As Double = Math.Tanh(value)
VB   C#

高度な数学関数

より高度な操作を求める方へ:

パワー: Math.Pow()** 関数は2つの整数、基数と指数を受け取ります。 それは指定されたべき乗に上げられた基数を返します。

double baseNum = 2;
double exponent = 3;
double result = Math.Pow(baseNum, exponent);
Console.WriteLine(result); // Output: 8
double baseNum = 2;
double exponent = 3;
double result = Math.Pow(baseNum, exponent);
Console.WriteLine(result); // Output: 8
Dim baseNum As Double = 2
Dim exponent As Double = 3
Dim result As Double = Math.Pow(baseNum, exponent)
Console.WriteLine(result) ' Output: 8
VB   C#

対数: C#は Math.Log()自然対数を計算する関数 (基数 e) 指定された数の。 さらに、Math.Log を使用して基数を指定することもできます。(数値、指定基数)**.

double value = 10;
double naturalLog = Math.Log(value); // Natural logarithmic base
double logBase10 = Math.Log(value, 10); // Base 10 logarithm
double value = 10;
double naturalLog = Math.Log(value); // Natural logarithmic base
double logBase10 = Math.Log(value, 10); // Base 10 logarithm
Dim value As Double = 10
Dim naturalLog As Double = Math.Log(value) ' Natural logarithmic base
Dim logBase10 As Double = Math.Log(value, 10) ' Base 10 logarithm
VB   C#

C#における複素数

このチュートリアルは主に基本的および中級の機能を扱いますが、C#が複素数をサポートしていることに注目する価値があります。

複素数の作成: System.Numerics ネームスペースから Complex クラスを使用します。 それはMathクラスの一部ではありませんが、複素数を含む数学的操作には不可欠です。

using System.Numerics;
Complex complexNumber = new Complex(2, 3); // Represents 2 + 3i
using System.Numerics;
Complex complexNumber = new Complex(2, 3); // Represents 2 + 3i
Imports System.Numerics
Private complexNumber As New Complex(2, 3) ' Represents 2 + 3i
VB   C#

数学クラスの変換関数

開発者はしばしば異なる種類の数値を変換する必要があります。

整数に変換: 小数を持っていて、その小数部分を削除して整数に変換したい場合は、Convert.ToInt32 を使用してください。()** メソッド

double value = 10.99;
int intValue = Convert.ToInt32(value);
Console.WriteLine(intValue); // Output: 10
double value = 10.99;
int intValue = Convert.ToInt32(value);
Console.WriteLine(intValue); // Output: 10
Dim value As Double = 10.99
Dim intValue As Integer = Convert.ToInt32(value)
Console.WriteLine(intValue) ' Output: 10
VB   C#

10進数から2進数への変換: C#のMathクラスにはこれを行うための直接的なメソッドはありません。 それでも、Convert.ToString を使用できます。(値, 2)System 名前空間の function

数学関数におけるエラーと例外処理

数学関数を使用する際に、ゼロで割るなどのエラーに遭遇することがあります。 これらの潜在的な落とし穴を処理することが重要です。

ゼロ除算: 除算を行う前に条件文を使用して除数を確認してください。

double numerator = 10;
double denominator = 0;
if(denominator != 0)
{
    double result = numerator / denominator;
}
else
{
    Console.WriteLine("Cannot divide by zero!");
}
double numerator = 10;
double denominator = 0;
if(denominator != 0)
{
    double result = numerator / denominator;
}
else
{
    Console.WriteLine("Cannot divide by zero!");
}
Dim numerator As Double = 10
Dim denominator As Double = 0
If denominator <> 0 Then
	Dim result As Double = numerator / denominator
Else
	Console.WriteLine("Cannot divide by zero!")
End If
VB   C#

オーバーフローの処理: 数学的操作でデータ型に対して値が大きすぎる場合、オーバーフローが発生します。 この例外をキャッチするには、チェックされたブロックを使用してください。

try
{
    checked
    {
        int result = int.MaxValue + 1; // This will cause an overflow
    }
}
catch(OverflowException ex)
{
    Console.WriteLine("Overflow occurred: " + ex.Message);
}
try
{
    checked
    {
        int result = int.MaxValue + 1; // This will cause an overflow
    }
}
catch(OverflowException ex)
{
    Console.WriteLine("Overflow occurred: " + ex.Message);
}
Try
'INSTANT VB TODO TASK: There is no equivalent to a 'checked' block in VB:
'	checked
		Dim result As Integer = Integer.MaxValue + 1 ' This will cause an overflow
'INSTANT VB TODO TASK: End of the original C# 'checked' block.
Catch ex As OverflowException
	Console.WriteLine("Overflow occurred: " & ex.Message)
End Try
VB   C#

強力なC#開発者向けスイート Iron Suite のご紹介

C#の機能について掘り下げると、このプログラミング言語を取り巻くエコシステムが非常に進化してきたことに注目する価値があります。 そのような貢献の一つは、C#開発者向けに調整された包括的なツールキットであるIron Suiteの形で提供されています。 それは、アプリケーションを強化し、堅牢で機能豊富にする一連の製品を提供します。

IronPDF (アイアンPDF)

C#の数学(開発者向けの動作仕組み) 図1 - IronPDF

C#アプリケーションでPDFを操作する必要を感じたことはありますか? IronPDF 解決策として最適です。 PDFファイルの作成、編集、そしてコンテンツの抽出が非常に簡単になります。 C#の数学関数と組み合わせると、レポート、グラフ、その他の数学的な可視化を生成し、それらをPDF文書にシームレスに埋め込むことができます。

IronPDFの注目すべき機能はその HTMLからPDF レイアウトやスタイルをすべて保持したままの機能。 ウェブコンテンツから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
VB   C#

IronXL

IronXL は、.NET、Python、および他のプログラミング言語で Excel 形式の読み取り、書き込み、編集を可能にするライブラリです。ユーザーは、Microsoft Excel を使わずに、スプレッドシートをプログラムで管理することができます。主要な機能には、Excel ファイルの作成、既存ファイルの読み込み、セルの書き換え、グリッドデータの操作などが含まれます。データ分析、自動化、レポート生成のために最適なツールです。

IronXL の特長は、使いやすさと柔軟性にあります。どのレベルのプログラマーでも、数行のコードで Excel 操作を実行できます。開発者は、RBGA カラー、フォントスタイル、ボーダースタイルなど、ビジュアル要素のカスタマイズも簡単に行えます。

以下のプラットフォームで使用可能です:

  • IronXL for .NET
  • IronXL for Python

C#の数学(開発者向けの仕組み)図2 - IronXL

データ操作はプログラミングの重要な側面であり、スプレッドシートに関して言えば、 IronXL 対応しています。 Excelファイルの作成、読み取り、編集のいずれにおいても、IronXLはC#とスムーズに統合されます。 C#の数学関数の力を借りて、アプリケーション内で直接Excelデータの計算を行うことができます。

IronOCR

アイアンオーシーアール (IronOCR) は、高精度の光学文字認識 (Optical Character Recognition, OCR) ライブラリです。以下はその主な機能と利点です。

  • 高精度: IronOCR は、画像やPDFから文字情報を高精度で抽出します。複雑なフォントや手書き文字にも対応しています。
  • 多言語対応: IronOCR は、多数の言語に対応しており、グローバルなプロジェクトに最適です。
  • 簡単な統合: .NET アプリケーションに簡単に統合できるため、開発者の手間を大幅に削減します。
  • 豊富なフォーマットサポート: PDF、TIFF、JPG、PNG など、さまざまなファイル形式をサポートしています。
  • カスタマイズ可能な OCR 設定: パフォーマンスや精度を最適化するために、様々な設定を調整できます。

サポートされている開発プラットフォームには、.NET Framework、.NET Core、Xamarin などがあります。 アイアンオーシーアール (IronOCR) は、開発者が迅速かつ効率的にOCR機能を統合するための強力なツールです。

さらに詳しい情報やデモ版のダウンロードは、公式ウェブサイト https://ironsoftware.com からご覧いただけます。

C# 数学(開発者向けの動作)図 3 - IronOCR

光学文字認識 (OCR) (OCR (光学式文字認識)) は、もはや未来的な概念ではなく現実です。 IronOCR. アプリケーションで画像やスキャンされたドキュメントを扱っていて、特に数値データや数式を抽出したい場合、IronOCRをC#と組み合わせて使用することで、シームレスに認識して利用可能なデータに変換することができます。

IronBarcode

C# 数学(開発者向けの動作方法)図 4 - IronBarcode

今日の世界では、バーコードが製品識別において重要な役割を果たしています。 の 도움 IronBarcodeC#開発者は、簡単にバーコードを生成、読み取り、および操作することができます。 在庫管理システムやPOSシステムの開発において、数学的計算とバーコードが絡み合う場合に特に有用です。

結論

C# 助成 (開発者にとっての使い方) 図 5 - ライセンス

C#の分野は広大で強力です。Iron Suiteのようなツールを使うことで、あなたのアプリケーションを新たな高さに引き上げることができます。 特筆すべきこととして、Iron Suite内の各製品、例えば IronPDF、IronXL、IronOCR、または IronBarcode などは、すべて $749 から始まるライセンスが必要です。 さらに、投資前に試してみたい方のために、各製品は 30日間無料試用 わずか2つの製品の価格で。 このような取引は、コスト節約を提供するだけでなく、さまざまな開発ニーズを満たすための包括的なツールキットも確保します。

< 以前
C#のString Builder(開発者向けの動作原理)
次へ >
C# スイッチ式(開発者向けの動作方法)

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 10,659,073 View Licenses >