从 URL 读取 JSON 正在读取奇怪的浮点数
Posted
技术标签:
【中文标题】从 URL 读取 JSON 正在读取奇怪的浮点数【英文标题】:Reading JSON from URL is reading weird floats 【发布时间】:2022-01-19 07:35:14 【问题描述】:我尝试读取一个 json 文件 输出给出奇怪的浮点数
250:4.918e-06
251: 0.0006678
252: 4.366e-07
253: 3.0054e-06
254: 3.0942e-05
我做错了什么?
url= 'https://cryptobubbles.net/backend/data/currentBubbles1000.json'
user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7'
headers='User-Agent':user_agent,
req= urllib.request.Request(url,None,headers)
teller = 0
def get_data_binance():
global teller
json_content = json.loads(urlopen(req).read())
for coins in json_content:
if coins['binanceSymbol'] and coins['data']['btc']['price']:
teller += 1
zeroteller = str(teller)
zero_filled_number = zeroteller.zfill(3)
binancefilled = coins['binanceSymbol']
#print(zero_filled_number+ ': '+binancefilled.ljust(12)+ ' '+str(coins['data']['usd']['price']))
print (zero_filled_number+ ': '+str(coins['data']['btc']['price']))
【问题讨论】:
没有错,它只是浮动的另一种表示,工作方式相同。只需确保在打印时正确格式化即可。 如果您需要准确性,您应该改用Decimals。 【参考方案1】:4.918e-06 是一种科学记数法,用于数学、物理、化学、天文学和其他科学,用于处理非常大或非常小的数字。使用科学记数法,数字的加减乘除变得简单得多。
4.918e-06 = 4.918 x 10-6 = 0.000004918
另见Convert Scientific Notation to Float
【讨论】:
有没有办法按原样读取 json 而不显示这种科学记数法?以上是关于从 URL 读取 JSON 正在读取奇怪的浮点数的主要内容,如果未能解决你的问题,请参考以下文章