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#で文字列を右詰め、左詰めする方法

こんにちは、今日はC#で文字列を右詰め、左詰めする方法についてまとめていきます。 右詰め string.Format関数を用います。 通常は第一引数に”{0}”を指定することで …

no image

C#で文字列型と数値型を変換する方法

こんにちは、今日はC#で文字列型と数値型を変換する方法についてまとめていきます。 文字列から数値型に変換 int.TryParse関数の第一引数に変換する文字列を、第二引数に変換後の数値を受け取る数値 …

no image

C#で0埋めする方法

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

no image

C#でDictionaryで定義したクエリパラメータをURL文字列に連結する

以下のようにURL文字列を定義している時 string url = "https://santerabyte.com"; Dictionaryでクエリパラメータのキーと値を定義し、 …

no image

C#例外処理の使い方

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