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#で数値の特定の桁の値を取得する方法についてまとめていきます。 ToString()を使用して文字列に変換する ToString()関数を呼び出すとstring型で値が返ってくるた …

no image

C#で指定シンボルが定義されている場合のみ関数を実行する属性ConditionalAttribute

#define IS_DEBUG using System; using System.Diagnostics; [Conditional("IS_DEBUG")] pu …

no image

Unityで実行環境の情報を取得する方法

System.Environmentクラスで現在の環境についての情報が取得できます。 OSバージョン System.OperatingSystem os = System.Environment.OS …

no image

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

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