当前位置: 首页 > 面试题库 >

将科学计数法转换为浮点数

危钱明
2023-03-14
问题内容

遇到一个问题,我的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

打印以下值;1.357e-05。我需要它是一个浮点数,小数点后有8个字符(0.00001370)

如您在此处看到的->
http://i.imgur.com/FCVM1UN.jpg,我的GUI显示正确的第一行(使用完全相同的代码)。


问题答案:

您正在查看浮点数的 默认str()格式,其中科学计数法用于足够小的数字或大的数字。

您无需进行转换,该 值本身 就是一个适当的浮点数。如果需要以其他格式显示它,请
显式
格式化:

>>> print 0.00001357
1.357e-05
>>> print format(0.00001357, 'f')
0.000014
>>> print format(0.00001357, '.8f')
0.00001357

此处,f格式 始终 使用定点符号表示值。默认精度为6位数字;该.8命令f格式化,以显示8位数字代替。

默认的字符串格式本质上与format(fpvalue, '.12g');相同。该g格式根据数字的指数使用科学或定点表示。



 类似资料:
  • 问题内容: 有一个类似的问题,所以建议使用NumberFormat,这是我所做的。 我正在使用NumberFormat的parse()方法。 我得到的结果是 1.93 我真的没想到这会起作用,因为1.930000000000E + 02是一个看起来非常不寻常的数字,我是否必须先进行一些字符串解析才能删除零?还是有一种快速而优雅的方法? 问题答案: 当对科学计数形式的表达式使用DecimalForm

  • 问题内容: 如何将科学计数法转换为常规int例如:1.23E2我想将其转换为123 谢谢。 问题答案: 如果您具有字符串形式的值,则可以使用

  • 问题内容: 有点像这个问题,但是相反。 给定类似,或的字符串,将其转换为浮点数的最佳方法是什么?我正在考虑根据情况使用正则表达式,但是也许有人知道更好的方法或预先存在的解决方案。我希望可以使用,但是我认为第3种情况可以避免这种情况。 问题答案: 我稍微调整了詹姆斯的回答。 http://ideone.com/ItifKv

  • 问题内容: 当我在PHP中进行以下乘法时: 我得到结果:1.0E-9 我想将此结果转换为普通的十进制表示法,我该怎么做? 不起作用,它返回。溢出? 问题答案: 不起作用,它返回。溢出? 可以,但是您在这里错过了一点。 没有溢出。只是对于修饰符,默认情况下使用6位数字。另外,请注意区域设置,可能更适合。 您可能希望使用更多数字,例如说4000000(400万): 如该示例所示,不仅有一个公共值(6位

  • 问题内容: 我有一个必须解析的二进制文件,并且正在使用Python。有没有办法占用4个字节并将其转换为单个精度浮点数? 问题答案:

  • 问题内容: 我有一个以指数形式输出的数字: 如何使它以普通格式打印? 问题答案: 您可以将其格式化为定点数字。