渡された値が有効な数値かどうかをチェックする python 関数があります。渡される値は文字列形式です。
def is_valid_numeral(text_to_check):
'''Check if passed value is a valid numeral figure'''
try:
float(text_to_check)
return True
except ValueError:
return False
のような値6E+007
が渡され、この関数は正しい True を返します。
上記の関数の後、渡された数値を Decimal フィールドに保存する必要があります。だから私は以下のようにformat_decimal
関数を実行します
def format_decimal(value, decimals):
'''Format a value to "n" decimal places
http://mkaz.com/solog/python/python-string-format.html
'''
try:
if decimals == 2:
value = int(value)/100
return "{:.2f}".format(int(value))
except ValueError:
raise
この時点で、次のエラーで失敗します。
`Value Error: Invalid literal for int() with base 10:6E+007`
これは実際には別の表記法で有効な数値であるため、このタイプの値を変換してformat_decimal
関数に渡すことができる関数はありますか?