Saya memiliki fungsi mengambil argumen float (umumnya bilangan bulat atau desimal dengan satu digit signifikan), dan saya perlu menampilkan nilai dalam string dengan dua tempat desimal (5 -> 5,00, 5,5 -> 5,50, dll). Bagaimana saya bisa melakukan ini dengan Python?
python
string
programming-languages
floating-point
MarathonStudios
sumber
sumber
d=3
, maka sintaksnya adalah"{:.{}f}".format(5, d)
pemformatan f-string :
Ini baru dalam Python 3.6 - string ditempatkan dalam tanda kutip seperti biasa, diawali dengan
f'...
cara yang sama Anda lakukanr'...
untuk string mentah. Kemudian Anda meletakkan apa pun yang ingin Anda masukkan ke dalam string, variabel, angka, di dalam kurung kurawalf'some string text with a {variable} or {number} within that text'
- dan Python mengevaluasi seperti dengan metode pemformatan string sebelumnya, kecuali bahwa metode ini jauh lebih mudah dibaca.Anda dapat melihat dalam contoh ini kami memformat dengan tempat desimal dengan cara yang mirip dengan metode pemformatan string sebelumnya.
NB
a
dapat berupa angka, variabel, atau bahkan ekspresi misalnyaf'{3*my_func(3.14):02f}'
.Ke depan, dengan kode baru saya lebih suka metode f-string daripada metode% s atau str.format () yang umum karena f-string bisa jauh lebih mudah dibaca, dan seringkali jauh lebih cepat .
sumber
Pemformatan string:
sumber
math.floor
,math.ceil
atauround
Menggunakan format string python.
sumber
Pemformatan Tali:
ATAU
Fungsi Bulat dapat digunakan:
Untung tentang round () adalah bahwa, kita dapat menyimpan hasil ini ke variabel lain, dan kemudian menggunakannya untuk tujuan lain.
sumber
round
. Seharusnya tidak digunakan hanya untuk tujuan tampilan .round(5.0001, 2)
->5.0
, tidak'5.00'
Sintaks Python 3 terpendek:
sumber
Jika Anda benar-benar ingin mengubah nomor itu sendiri, bukan hanya menampilkannya secara berbeda, gunakan format ()
Format ke 2 tempat desimal:
contoh:
sumber
Saya tahu ini adalah pertanyaan lama, tetapi saya sendiri kesulitan menemukan jawabannya. Inilah yang saya pikirkan:
Python 3:
sumber
Menggunakan sintaks Python 3:
sumber
Jika Anda ingin mendapatkan nilai floating point dengan dua tempat desimal terbatas pada saat input panggilan,
Lihat ini ~
sumber
eval
harus tali kalau bisa sajaround
? Pokoknya ini bahkan tidak berfungsi dengan baik karena jika Anda memberi makan5
, Anda mendapatkan5.0
bukan5.00
seperti yang diinginkan OP.nan
daninf
.