Heim  >  Artikel  >  Backend-Entwicklung  >  So behalten Sie zwei Dezimalstellen in Python bei

So behalten Sie zwei Dezimalstellen in Python bei

青灯夜游
青灯夜游Original
2023-01-05 17:36:4118593Durchsuche

Methode: 1. Verwenden Sie die Zeichenfolgenformatierung, Syntax „print(“%.2f“ % a)“; 2. Verwenden Sie die integrierte Round-Funktion, Syntax „round(a, 2)“; "Decimal(a).quantize(Decimal("0.00"))" 4. Verwenden Sie Sequenz-Slicing, die Syntax lautet "str(a).split('.')[0]+'.'+str(a) .split ('.')[1][:2]"; 5. Verwenden Sie das re-Modul.

So behalten Sie zwei Dezimalstellen in Python bei

Die Betriebsumgebung dieses Tutorials: Windows7-System, Python3-Version, DELL G3-Computer

Viele Freunde müssen beim Erlernen von Python möglicherweise Daten formatieren und ausgeben. Die häufigsten Anforderungen sind: Behalten Sie mehrere Dezimalstellen bei. Heute wird in diesem Artikel die Methode zur Beibehaltung von zwei Dezimalstellen in Python als Beispiel verwendet, um die Methode der Datenformatierung in Python vorzustellen.

Verwenden Sie die Zeichenfolgenformatierung

Die meisten Sprachen können die Zeichenfolgenformatierung verwenden, um den Effekt der Beibehaltung von zwei Dezimalstellen zu erzielen, und Python ist keine Ausnahme:

a = 12.345
print("%.2f" % a) # %代表格式化输出,.2代表小数点后保留两位,f代表数据类型是浮点型

Verwenden Sie die integrierte Funktion runden

Python-integrierte Es wird eine Funktion namens „round“ erstellt, mit der Daten formatiert werden können. Der Code lautet wie folgt:

a = 12.345
a1 = round(a, 2) #将a通过round函数处理后赋值给a1,传入的2代表保留两位小数
print(a1)

Verwendung des Dezimalmoduls

Ähnlich wie Java bietet Python auch ein Dezimalmodul für präzise Operationen und kann auch Daten für die Ausgabe formatieren. Der Code lautet wie folgt:

from decimal import Decimal
a = 12.345
Decimal(a).quantize(Decimal("0.00")) # 使用默认的进位方式(同round)“0.00”表示保留小数点后两位

Hinweis: Pythons Runde verwendet eine spezielle Übertragsmethode, die der Rundung etwas ähnelt, aber um genau zu sein, sollte sie Rundung auf fünf heißen. Interessierte Freunde können etwas über numerisches Runden und grundlegendes Runden lernen.

Das Obige ist die herkömmliche Methode zum Beibehalten von zwei Dezimalstellen. Als Nächstes stellen wir zwei unkonventionelle Methoden vor (bei Verwendung der Zeichenfolgenverarbeitung behält diese Methode nur zwei Dezimalstellen bei und rundet nicht).

Verwenden Sie Sequenz-Slicing Das Prinzip ist sehr einfach: Suchen Sie einfach den Dezimalpunkt und teilen Sie ihn dann auf. Der Code lautet wie folgt:
a = 12.345
str(a).split('.')[0] + '.' + str(a).split('.')[1][:2] #使用序列切片的方式,切出小数点前的数据,还有小数点后两位的数据,然后进行拼装

Die Verwendung des re-Moduls

ähnelt dem Slicing, aber dieses Mal wird ein regelmäßiger Abgleich verwendet, um die Position des Dezimalpunkts zu lokalisieren.
import re
a = 12.345
re.findall(r"\d{1,}?\.\d{2}", str(a)) #使用正则匹配,将符合规则(一个小数点前有很多位数字,小数点后面只有两位数字的片段)字符串片段取出

【Verwandte Empfehlungen:

Python3-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo behalten Sie zwei Dezimalstellen in Python bei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn