Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengekalkan dua tempat perpuluhan dalam python
Kaedah: 1. Gunakan pemformatan rentetan, sintaks "cetak("%.2f" % a)"; 2. Gunakan fungsi terbina dalam bulat, sintaks "bulat(a, 2)"; modul perpuluhan, sintaks "Perpuluhan(a). quantize(Perpuluhan("0.00"))"; 4. Gunakan penghirisan jujukan, sintaks "str(a).split('.')[0]+'.'+str( a).split('.')[1][:2]"; 5. Gunakan modul semula.
Persekitaran pengendalian tutorial ini: sistem windows7, versi python3, komputer DELL G3
Ramai rakan mungkin menghadapi perkara ini apabila mempelajari Keperluan python untuk memformat output data, yang paling biasa ialah: mengekalkan beberapa tempat perpuluhan. Hari ini, artikel ini akan mengambil cara untuk mengekalkan dua tempat perpuluhan dalam Python sebagai contoh untuk memperkenalkan kaedah pemformatan data dalam Python.
Kebanyakan bahasa boleh menggunakan pemformatan rentetan untuk mencapai kesan mengekalkan dua tempat perpuluhan, dan python tidak terkecuali:
a = 12.345
print("%.2f" % a) # %代表格式化输出,.2代表小数点后保留两位,f代表数据类型是浮点型
Python mempunyai fungsi terbina dalam dipanggil bulat, yang boleh digunakan untuk memformat data. Kodnya adalah seperti berikut:
a = 12.345
a1 = round(a, 2) #将a通过round函数处理后赋值给a1,传入的2代表保留两位小数
print(a1)
Serupa dengan java, python juga menyediakan modul perpuluhan untuk operasi yang tepat, yang juga boleh melaksanakan data memproses Output berformat. Kodnya adalah seperti berikut:
from decimal import Decimal
a = 12.345
Decimal(a).quantize(Decimal("0.00")) # 使用默认的进位方式(同round)“0.00”表示保留小数点后两位
Nota: Pusingan Python menggunakan kaedah bawa khas, yang agak serupa dengan pembundaran, tetapi lebih tepatnya, ia harus dipanggil pembundaran kepada lima. Rakan-rakan yang berminat boleh belajar tentang pembundaran berangka dan pembundaran asas.
Di atas adalah kaedah konvensional untuk mengekalkan dua tempat perpuluhan Seterusnya, kami akan memperkenalkan dua kaedah bukan konvensional (menggunakan kaedah pemprosesan rentetan, kaedah ini hanya mengekalkan dua tempat perpuluhan dan tidak membulat)
.Prinsipnya sangat mudah, cuma cari titik perpuluhan dan kemudian potong. Kodnya adalah seperti berikut:
a = 12.345
str(a).split('.')[0] + '.' + str(a).split('.')[1][:2] #使用序列切片的方式,切出小数点前的数据,还有小数点后两位的数据,然后进行拼装
adalah serupa dengan menghiris, tetapi padanan biasa kali ini digunakan untuk mencari kedudukan titik perpuluhan.
import re
a = 12.345
re.findall(r"\d{1,}?\.\d{2}", str(a)) #使用正则匹配,将符合规则(一个小数点前有很多位数字,小数点后面只有两位数字的片段)字符串片段取出
[Cadangan berkaitan: Tutorial video Python3]
Atas ialah kandungan terperinci Bagaimana untuk mengekalkan dua tempat perpuluhan dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!