47
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Gặp phải một vấn đề theo đó dữ liệu JSON của tôi được in dưới dạng ký hiệu khoa học thay vì nổi.
import urllib2
import json
import sys
url = '//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
Nó in giá trị sau; 1.357e-05
. Tôi cần đây là một chiếc phao với 8 ký tự phía sau thập phân [0,00001370]
Như bạn có thể thấy ở đây -> //i.imgur.com/fcvm1un.jpg, GUI của tôi hiển thị hàng đầu tiên đúng [sử dụng cùng một mã chính xác].
Hỏi ngày 2 tháng 8 năm 2014 lúc 21:35Aug 2, 2014 at 21:35
Bạn đang xem xét định dạng str[]
mặc định của các số điểm nổi, trong đó ký hiệu khoa học được sử dụng cho số lượng đủ nhỏ hoặc lớn.
Bạn không cần phải chuyển đổi điều này, chính giá trị là một chiếc phao thích hợp. Nếu bạn cần hiển thị điều này ở một định dạng khác, định dạng rõ ràng:
>>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
Ở đây định dạng f
luôn sử dụng ký hiệu điểm cố định cho giá trị. Độ chính xác mặc định là 6 chữ số;
>>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
0 hướng dẫn định dạng f
để hiển thị 8 chữ số thay thế.Trong Python 3, định dạng chuỗi mặc định về cơ bản giống như
>>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
2; Định dạng >>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
3 sử dụng trình bày điểm khoa học hoặc cố định tùy thuộc vào số mũ của số. Python 2 đã sử dụng >>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
4.Đã trả lời ngày 2 tháng 8 năm 2014 lúc 21:39Aug 2, 2014 at 21:39
Martijn Pieters ♦ Martijn Pieters♦Martijn Pieters
991K276 Huy hiệu vàng3903 Huy hiệu bạc3252 Huy hiệu Đồng276 gold badges3903 silver badges3252 bronze badges
0
Bạn có thể sử dụng định dạng in:
x = 1.357e-05
print['%f' % x]
Edit:
print['%.08f' % x]
Đã trả lời ngày 2 tháng 8 năm 2014 lúc 21:39Aug 2, 2014 at 21:39
4
Martijn Pieters ♦ Martijn Pieters
991K276 Huy hiệu vàng3903 Huy hiệu bạc3252 Huy hiệu Đồng
x = float[1.357e-05]
round[x, 6]
"{:.8f}".format[x]
Bạn có thể sử dụng định dạng in:
import decimal
tmp = decimal.Decimal['1.357e-05']
print['[0]', tmp]
# [0] 0.00001357
tmp = decimal.Decimal[1.357e-05]
print['[1]', tmp]
# [1] 0.0000135700000000000005188384444299032338676624931395053863525390625
decimal.getcontext[].prec = 6
tmp = decimal.getcontext[].create_decimal[1.357e-05]
print['[2]', tmp]
# [2] 0.0000135700
Có một số cách tiếp cận:
x = ["%.17f" % n].rstrip['0'].rstrip['.']
#1
>>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
5 + Tùy chọn >>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
6 hoặc >>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
7x = 1.357e-05
print['%f' % x]
0 shows standard notationx = 1.357e-05
print['%f' % x]
2 shows scientific notationx = 1.357e-05
print['%f' % x]
3 shows default [scientific if 5 or more zeroes]#2 với lớp
>>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
8Nov 18, 2020 at 14:38
#3 với
>>> print[0.00001357]
1.357e-05
>>> print[format[0.00001357, 'f']]
0.000014
>>> print[format[0.00001357, '.8f']]
0.00001357
9RomanLưu ý: Có các đối tác với
0: x = 1.357e-05
print['%f' % x]
0 cho thấy ký hiệu tiêu chuẩn x = 1.357e-05
print['%f' % x]
2 cho thấy ký hiệu khoa học x = 1.357e-05
print['%f' % x]
3 cho thấy mặc định [khoa học nếu 5 hoặc nhiều số 0]11 gold badges82 silver
badges83 bronze badgesx = 1.357e-05
print['%f' % x]