3テラバイト

プログラム関連備忘録サイト。主にゲーム。

C#

C#で整数の桁数を取得する

投稿日:

こんにちは、今日はC#で整数の桁数を取得する方法についてまとめていきます。

ToString()を用いる

ToString関数でstring型に変換、Lengthで要素数から桁数を求めます。

int GetDigit(int num)
{
    num = System.Math.Abs(num);
    int digit = num.ToString().Length;
    return digit;
}

除算を用いる

10で除算した回数から桁数を求めます。

int GetDigit(int num)
{
	int digit = 1;
	num = System.Math.Abs(num);
	while (num >= 10)
	{
		num /= 10;
		digit++;
	}
	return digit;
}

System.Math.Log10を用いる

以下の例ではGetDigit関数の引数に桁数を取得したい数値を渡すことにより、その桁数を返します。

Log10関数で渡した値の底10の対数を取得しint型にキャスト、1を加算した値を返しています。
指定した値が0の場合のみ固定で1を返します。

int GetDigit(int num)
{
	num = System.Math.Abs(num);
	return (num == 0) ? 1 : ((int)System.Math.Log10(num) + 1);
}

リンク

Math.Log10(Double) メソッド (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.math.log10?view=net-5.0

Math.Abs メソッド (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.math.abs?view=net-5.0

-C#


comment

メールアドレスが公開されることはありません。

関連記事

no image

C#で0埋めする方法

こんにちは、今日はC#で0埋めする方法についてまとめていきます。 0埋め 文字列の書式指定を用いて、数値の0埋めをすることができます。 ToString 以下の例ではint型のToString関数の引 …

no image

C#で文字のASCIIコードを取得する方法

こんにちは、今日はC#で文字のASCIIコードを取得する方法についてまとめていきます。 文字のASCIIコードを取得する 文字型の変数を整数型の変数に格納するとその文字の文字コードが格納されます。 以 …

no image

C#で文字列型と列挙型の変換方法

こんにちは、今日はC#で文字列型と列挙型の変換方法についてまとめていきます。 文字列型から列挙型への変換方法 以下のような列挙型が定義されている場合 enum Animal { Cat, Dog } …

no image

C#例外処理の使い方

例外処理 数値文字列を数値に変換するint.Parseメソッドを例に例外処理を行うと、以下のようになります。try-catchステートメントを使用し、tryブロックに例外を捕捉したいコードを記述すると …

no image

C#で整数の特定の桁の値を取得する

こんにちは、今日はC#で数値の特定の桁の値を取得する方法についてまとめていきます。 ToString()を使用して文字列に変換する ToString()関数を呼び出すとstring型で値が返ってくるた …