ValueError:类型为“str”的对象的格式代码“e”未知

2024-06-28 11:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

如何解决这个错误 我正在尝试获取usdt的硬币数量 例如,我想购买的数量与usdt的对比:17.493796277071922 我想把这个数字改成17.49

 def format_value(valuetoformatx,fractionfactorx):
    value = valuetoformatx
    fractionfactor = fractionfactorx
    Precision = abs(int(f'{fractionfactor:e}'.split('e')[-1]))
    FormattedValue = float('{:0.0{}f}'.format(value, Precision))
    return FormattedValue       
 def pairPriceinfo(ticker,client): 
    info = client.get_symbol_info(ticker)
    minPrice = pd.to_numeric(info['filters'][0]['minPrice'])  
    return minPrice
def pairQtyinfo(ticker,client):
    info = client.get_symbol_info(ticker)
    minQty = pd.to_numeric(info['filters'][2]['minQty'])   
    return minQty 

错误:

Precision= abs(int(f'{fractionfactor:e}'.split('e')[-1]))
ValueError: Unknown format code 'e' for object of type 'str'

Tags: infoclientformat数量returnvaluedef错误
1条回答
网友
1楼 · 发布于 2024-06-28 11:27:37

查看这两个f字符串之间的差异:

In [1]: fractionfactor = '23958'

In [2]: f"{fractionfactor:e}"
                                     -
ValueError                                Traceback (most recent call last)
<ipython-input-2-2c1afb2edff5> in <module>
  > 1 f"{fractionfactor:e}"

ValueError: Unknown format code 'e' for object of type 'str'

In [3]: fractionfactor = 23958

In [4]: f"{fractionfactor:e}"
Out[4]: '2.395800e+04'

因此,当fractionfactor是一个字符串对象时就会出现问题,这正是ValueError消息试图告诉您的:

Unknown format code 'e' for object of type 'str'

这意味着您传递到f字符串中的对象是str对象,并且科学表示法不是字符串的有效格式代码。字符串不是数字,因此要求Python以科学符号显示字符串没有任何意义

相关问题 更多 >