Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in das Übertragen und Runden von Dezimalzahlen in Python (mit Code)

Einführung in das Übertragen und Runden von Dezimalzahlen in Python (mit Code)

不言
不言nach vorne
2019-04-01 11:13:233885Durchsuche

Der Inhalt dieses Artikels ist eine Einführung in das Tragen und Runden von Dezimalzahlen (mit Code). Ich hoffe, dass er für Sie hilfreich ist.

1. Grundlegende Wissensvorbereitung

Ungerade und gerade Runden, auch bekannt als Rundungsregel, Banker-Rundung, ist eine Zählaufbewahrungsmethode, eine numerische Rundungsregel. Aus statistischer Sicht ist „ungerade und gerade Rundung“ genauer als „Rundung“: Bei einer großen Anzahl von Operationen wird der mittlere Fehler der gerundeten Ergebnisse größer, andere kleiner, da einige der Ergebnisse nach der Rundung größer werden be tendiert gegen Null. Anstatt wie bei der Rundung alle fünf zu übertragen, wird das Ergebnis in Richtung einer großen Zahl verzerrt, was dazu führt, dass sich Fehler anhäufen und somit systematische Fehler entstehen. „Ungerade Rundung in gerade Rundung“ minimiert den Einfluss von Rundungsfehlern auf die Messergebnisse.

Numerisches Runden (Abrunden von Werten) – Bevor Sie bestimmte numerische Operationen ausführen, passen Sie die verbleibenden letzten Ziffern an, indem Sie die letzten Ziffern des ursprünglichen Werts weglassen, sodass der letzte Vorgang ausgeführt wird bei dem der erhaltene Wert dem ursprünglichen Wert am nächsten kommt.
Unendlichkeit Unendlichkeit

NaN (Not a Number, not a number) ist ein Werttyp eines numerischen Datentyps in der Informatik, der undefiniert oder bedeutet nicht darstellbarer Wert. Wird häufig in der Gleitkomma-Arithmetik verwendet. NaN wurde erstmals 1985 im Gleitkommastandard IEEE 754 eingeführt. Bei Gleitkommazahlenoperationen sind die Konzepte von NaN und Unendlichkeit unterschiedlich, obwohl beide Sonderwerte sind, wenn Gleitkommazahlen zur Darstellung reeller Zahlen verwendet werden. Eine ungültige Operation unterscheidet sich auch vom arithmetischen Überlauf (der Unendlich zurückgeben kann) und vom arithmetischen Unterlauf (der den kleinsten allgemeinen Wert, Sonderwert, Null usw. zurückgeben kann). In IEEE 754-1985 wird NaN dadurch dargestellt, dass der Exponententeil ganz 1 ist und der Dezimalteil ungleich Null ist. Am Beispiel von NaN als 32-Bit-IEEE-Gleitkommazahl mit einfacher Genauigkeit lautet die bitweise Darstellung: S111 1111 1AXX XXXX XXXX XXXX XXXX XXXX, S ist das Vorzeichenbit und der Wert des Vorzeichenbits S ist irrelevant

Wird in Python ausgeführt. Bei der Durchführung präziser numerischer Berechnungen wird das Modul decimal im Allgemeinen zur Berechnung von Dezimalzahlen verwendet. Dabei werden Dezimalzahlen, kontextarithmetische Kontextparameter und Signalsignalinformationen verwendet.

Wir haben festgestellt, dass dies der Fall ist round() zum Runden von Dezimalzahlen Wenn die Rundung nicht das ist, was Sie wollen, liegt dies daran, dass die Rundungsregel die ungerade-gerade-Rundung (Rundung) anwendet. Einfach ausgedrückt, wenn der ganzzahlige Teil von eine ungerade Zahl ist , runden Sie es ab. Wenn es eine gerade Zahl ist, verwenden Sie einfach die Rundungsmethode , und diese Regel gehört zur Regel von 数值修约

2.quantize

quantize`(*exp* [,*rounding* [,*context* [,*watchexp* ] ] ] )

Nach dem Runden wird ein Wert zurückgegeben, der dem ersten entspricht. Der Wert von zwei Operanden hat den Exponenten des zweiten Operanden.

>>> Decimal('1.41421356').quantize(Decimal('1.000'))
Decimal('1.414')

3. Runden implementieren

Nach dem Runden einen Wert zurückgeben, der dem ersten Operanden entspricht und den Exponenten des zweiten Operanden hat. Der Exponent dieses exp ist der Exponent der Zahl auf der linken Seite, Exponent

# 实现四舍五入的方法
>>> from decimal import Decimal, ROUND_HALF_UP
>>> Decimal('0.375').quantize(Decimal('0.00'), rounding=ROUND_HALF_UP)
Decimal('0.38')
>>> Decimal('0.125').quantize(Decimal('0.00'), rounding=ROUND_HALF_UP)
Decimal('0.13')

[Verwandte Empfehlungen: Python-Video-Tutorial]

Das obige ist der detaillierte Inhalt vonEinführung in das Übertragen und Runden von Dezimalzahlen in Python (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen