Loo*_*ops 33 python decimal notation
遇到一个问题,我的JSON数据被打印为科学记数而不是浮点数.
import urllib2
import json
import sys
url = 'https://bittrex.com/api/v1.1/public/getmarketsummary?market=btc-quid'
json_obj = urllib2.urlopen(url)
QUID_data = json.load(json_obj)
QUID_MarketName_Trex = QUID_data["result"][0]["MarketName"][4:9]
QUID_Last_Trex = QUID_data["result"][0]["Last"]
QUID_High_Trex = QUID_data["result"][0]["High"]
QUID_Low_Trex = QUID_data["result"][0]["Low"]
QUID_Volume_Trex = QUID_data["result"][0]["Volume"]
QUID_BaseVolume_Trex = QUID_data["result"][0]["BaseVolume"]
QUID_TimeStamp_Trex = QUID_data["result"][0]["TimeStamp"]
QUID_Bid_Trex = QUID_data["result"][0]["Bid"]
QUID_Ask_Trex = QUID_data["result"][0]["Ask"]
QUID_OpenBuyOrders_Trex = QUID_data["result"][0]["OpenBuyOrders"]
QUID_OpenSellOrders_Trex = QUID_data["result"][0]["OpenSellOrders"]
QUID_PrevDay_Trex = QUID_data["result"][0]["PrevDay"]
QUID_Created_Trex = QUID_data["result"][0]["Created"]
QUID_Change_Trex = ((QUID_Last_Trex - QUID_PrevDay_Trex)/ QUID_PrevDay_Trex)*100
QUID_Change_Var = str(QUID_Change_Trex)
QUID_Change_Final = QUID_Change_Var[0:5] + '%'
print QUID_Last_Trex
Run Code Online (Sandbox Code Playgroud)
它打印以下值; 1.357e-05.我需要这个是一个小数点后面有8个字符的浮点数(0.00001370)
正如你在这里看到的 - > http://i.imgur.com/FCVM1UN.jpg,我的GUI显示第一行正确(使用完全相同的代码).
Mar*_*ers 47
您正在查看浮点数的默认str()格式,其中科学计数法用于足够小或大的数字.
你不需要转换它,值本身就是一个合适的浮点数.如果需要以其他格式显示,请明确格式化:
>>> print 0.00001357
1.357e-05
>>> print format(0.00001357, 'f')
0.000014
>>> print format(0.00001357, '.8f')
0.00001357
Run Code Online (Sandbox Code Playgroud)
此f格式始终使用固定点表示法作为值.默认精度为6位数; 该.8命令f格式化,以显示8位数字代替.
默认字符串格式基本相同format(fpvalue, '.12g'); 的g格式使用任意一个科学或固定点呈现取决于数的指数.
您可以使用打印格式:
x = 1.357e-05
print('%f' % x)
Run Code Online (Sandbox Code Playgroud)
编辑:
print('%.08f' % x)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58923 次 |
| 最近记录: |