Python で数値の桁数を求める

Muhammad Maisam Abbas 2023年1月30日
  1. Python の math.log10() 関数を使用して、数値内の桁数を検索する
  2. Python の len() 関数を使用して、数値内の桁数を検索する
Python で数値の桁数を求める

このチュートリアルでは、Python で数値内の桁数をカウントする方法を紹介します。

Python の math.log10() 関数を使用して、数値内の桁数を検索する

Python の math モジュール内の math.log10() 関数は、指定された数値の 10 進数のログを検索するために使用されます。整数も基数 10 であるため、このメソッドを使用して、指定された整数内の桁数を取得できます。

次のコードスニペットは、math.log10() 関数を使用して数値内の桁数を求める方法を示しています。

import math

n = -10
if n > 0:
    digits = int(math.log10(n)) + 1
elif n == 0:
    digits = 1
elif n < 0:
    digits = int(math.log10(-n)) + 2
print(digits)

出力:

3

上記のコードの math.log10() 関数を使用して、数値-10 内の桁数を計算しました。このコードは、0 の対数を計算できないため、数値が 0 の場合も処理します。まず、数値が 0 より大きいかどうかを確認します。数値が 0 より大きい場合は、ログを取得し、結果に 1 を加算して桁を計算します。このプロセスが実行されるのは、任意の数値のログがその数値内の桁数より 1 少ないためです。

数値が 0 の場合、桁数を 1 に設定します。数値が 0 未満の場合、その負の数の反数の対数を取り、結果に 2 を加算することにより、桁数を計算します。負の数の場合、この例では - 記号を数字と見なすため、1 を追加します。最後に、画面に桁数を出力します。

この方法は、整数内の桁数を決定する場合に使用すると便利です。ただし、10 進数または浮動小数点のある数値では機能しません。

Python の len() 関数を使用して、数値内の桁数を検索する

len() 関数は、文字列変数内の文字数を計算するために使用される Python の組み込み関数です。len() 関数は、入力パラメーターとして文字列を受け取り、その文字列内の文字数を返します。len() 関数を使用して数値内の桁数を計算するには、最初に str() 関数を使用してその数値を文字列に変換する必要があります。

str() 関数は、さまざまなタイプのオブジェクトを文字列変数に変換するために使用される Python の組み込み関数でもあります。次のコードスニペットは、len() 関数を使用して数値内の桁数を求める方法を示しています。

n = -100.90
digits = len(str(n))
print(digits)

出力:

6

上記のコードの len() 関数を使用して、数値-100.90 内の桁数を計算しました。まず、str() 関数を使用して数値を文字列に変換しました。その後、結果の文字列を len() 関数に渡し、len() 関数によって返された値を digits 変数内に格納しました。最後に、digits 変数内の値を出力しました。この出力は、このアプローチが 10 進数または浮動小数点を含む数値にも適用できることを明確に示しています。

len() メソッドは、Python で 10 進数内の桁数を検索するための math.log10() メソッドよりもはるかに優れています。その理由は、len() メソッドが明確で簡潔であり、不必要に複雑で浮動小数点を処理しない math.log10() メソッドとは異なり、浮動小数点も処理するためです。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Python Number