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#で文字のASCIIコードを取得する方法

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

no image

C#で文字列をバイトシーケンスに変換する方法

こんにちは、今日はC#で文字列をバイトシーケンスに変換する方法についてまとめていきます。 文字列をバイトシーケンスに変換 string str = "テスト"; System.Te …

no image

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

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

no image

C#で数値を累乗した値を取得する

System.Mathクラスに定義されている以下の関数Powを使用して、指定したい値を累乗した値を取得できます。 public static double Pow (double x, double …

no image

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

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