Python:如何以8位小数显示字符串
很抱歉这个奇怪的标题,但我真的不知道该怎么解释。基本上,我有一个从API获取的代码,但是,如果数值试图显示为低。(假设为0.0008或更低)它将显示为一组数字,并在末尾显示一个e 示例:8.888e-5或随机的东西 如何将其显示为数字?比如:每PLSR 0.00084BTC (Python 3.6.4)必须将其作为字符串保存才能工作 为什么这不是一个重复:虽然另一个线程找到了与我想要的类似的答案,但它并没有确切地解释如何将它合并到我的代码中,因为我已经将它转换为字符串。在它被转换成字符串或..之后,我会将其覆盖在顶部吗 代码:Python:如何以8位小数显示字符串,python,string,python-3.x,numbers,discord,Python,String,Python 3.x,Numbers,Discord,很抱歉这个奇怪的标题,但我真的不知道该怎么解释。基本上,我有一个从API获取的代码,但是,如果数值试图显示为低。(假设为0.0008或更低)它将显示为一组数字,并在末尾显示一个e 示例:8.888e-5或随机的东西 如何将其显示为数字?比如:每PLSR 0.00084BTC (Python 3.6.4)必须将其作为字符串保存才能工作 为什么这不是一个重复:虽然另一个线程找到了与我想要的类似的答案,但它并没有确切地解释如何将它合并到我的代码中,因为我已经将它转换为字符串。在它被转换成字符串或..之
当数字变得足够大或足够小时,Python使用。这并不意味着该值不正确或“怪异”,它只是以不同的格式显示 要强制它显示,例如8位数字,您需要格式化它:
print('%.8f' % value)
当数字变得足够大或足够小时,Python使用。这并不意味着该值不正确或“怪异”,它只是以不同的格式显示 要强制它显示,例如8位数字,您需要格式化它:
print('%.8f' % value)
你看到的是科学符号。8.888e+2表示8.888x102 如果不喜欢默认设置,则需要使用。Python在格式化方面经历了一些变化。以下是一些选项:
>>> value = .000008888
>>> value # default display of small number
8.888e-06
>>> print('%.8f' % value) # old, deprecated format.
0.00000889
>>> print('{:.8f}'.format(value)) # newer format.
0.00000889
>>> print(f'{value:.8f}') # newest format in Python 3.6.
0.00000889
请注意,.8f
表示“小数点后8位,固定浮点”
更多信息:
>>> pulsar = '8.888e+2'
>>> f'PLSR Price: {float(pulsar):.2f}'
'PLSR Price: 888.80'
你看到的是科学符号。8.888e+2表示8.888x102 如果不喜欢默认设置,则需要使用。Python在格式化方面经历了一些变化。以下是一些选项:
>>> value = .000008888
>>> value # default display of small number
8.888e-06
>>> print('%.8f' % value) # old, deprecated format.
0.00000889
>>> print('{:.8f}'.format(value)) # newer format.
0.00000889
>>> print(f'{value:.8f}') # newest format in Python 3.6.
0.00000889
请注意,.8f
表示“小数点后8位,固定浮点”
更多信息:
>>> pulsar = '8.888e+2'
>>> f'PLSR Price: {float(pulsar):.2f}'
'PLSR Price: 888.80'
获取错误的可能重复:必须是实数,而不是str@BlakeXavier首先将字符串转换为浮点:
print('%.8f'%float(value))
@BlakeXavier删除这行中的print
和周围的()
:x=print('%.8f'%float(pulsar))
。您还可以(大概)将浮点值
(数据['last']
)转换为字符串
,然后再转换回浮点值
。跳过将其转换为字符串@BlakeXavier请按照Mark的回答进行操作,他正好满足您的需要。获取错误:必须是实数,而不是实数str@BlakeXavier首先将字符串转换为浮点:print('%.8f'%float(value))
@BlakeXavier删除print
和周围的()
在这一行:x=print('%.8f'%float(pulsar))
。您还可以(大概)将浮点值
(数据['last']
)转换为字符串
,然后再转换回浮点值
。跳过将其转换为字符串
@BlakeXavier请按照Mark的回答进行操作,他完全符合您的需要。这有助于解释问题,但我如何将其实现到我的代码中?不能这样做,因为我将列表转换为字符串,这样做会产生错误。@Blake请给出一个简单的示例,而不是链接。链接断开了,这个问题对未来的观众不会有用。见准则。要添加代码,请在问题中剪切n-paste,突出显示它,然后使用{}
按钮将其格式化为代码。添加代码,尽管很难理解。等待客户端。更改状态(game=discord.game(name=f'PLSR Price:{float(pulsar):.2f})-这不会以正确的格式返回。我做错了什么吗?这有助于解释问题,但我如何在代码中实现它?不能这样做,因为我将列表转换为字符串,这样做会产生错误。@Blake请给出一个简单的示例,而不是链接。链接断开了,这个问题对未来的观众不会有用。见准则。要添加代码,请在问题中剪切n-paste,突出显示它,然后使用{}
按钮将其格式化为代码。添加代码,尽管很难理解。等待客户端。更改状态(game=discord.game(name=f'PLSR Price:{float(pulsar):.2f})-这不会以正确的格式返回。我做错什么了吗?