Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zeige ich große Dezimalzahlen in wissenschaftlicher Notation ohne nachgestellte Nullen an?

Wie zeige ich große Dezimalzahlen in wissenschaftlicher Notation ohne nachgestellte Nullen an?

DDD
DDDOriginal
2024-11-06 11:43:02110Durchsuche

How to Display Large Decimals in Scientific Notation Without Trailing Zeros?

Wissenschaftliche Notation für Dezimalzahlen

Die Anzeige großer Dezimalzahlen in der wissenschaftlichen Notation kann schwierig sein, insbesondere wenn nachgestellte Nullen vorhanden sind. So geht's:

Verwendung von Decimal und '%.2E'

from decimal import Decimal

print('%.2E' % Decimal('40800000000.00000000000000'))  # returns '4.08E+10'

Durch die Angabe von %.2E beschränken wir die Ausgabe auf zwei Dezimalstellen. Entfernen Sie effektiv die zusätzlichen Nullen.

Nachgestellte Nullen automatisch entfernen

Wenn Sie alle nachgestellten Nullen entfernen möchten, können Sie diese benutzerdefinierte Funktion verwenden:

def format_e(n):
    a = '%E' % n
    return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]

Diese Funktion:

  • Teilt die Zeichenfolge der wissenschaftlichen Notation mithilfe von „E“ in Mantisse und Exponent auf.
  • Entfernt nachgestellte Nullen und den Dezimalpunkt aus der Mantisse.
  • Rekonstruiert die Zeichenfolge der wissenschaftlichen Notation mit der modifizierten Mantisse.

Beispiele

format_e(Decimal('40800000000.00000000000000'))  # '4.08E+10'
format_e(Decimal('40000000000.00000000000000'))  # '4E+10'
format_e(Decimal('40812300000.00000000000000'))  # '4.08123E+10'

Dieser Ansatz verarbeitet automatisch nachgestellte Nullen und gewährleistet so eine präzise wissenschaftliche Notation für sogar große Dezimalzahlen.

Das obige ist der detaillierte Inhalt vonWie zeige ich große Dezimalzahlen in wissenschaftlicher Notation ohne nachgestellte Nullen an?. 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