我有一个 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
函数传递它?