Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengeluarkan Sifar Mengekor daripada Nombor Perpuluhan dalam Notasi Saintifik?

Bagaimana untuk Mengeluarkan Sifar Mengekor daripada Nombor Perpuluhan dalam Notasi Saintifik?

Barbara Streisand
Barbara Streisandasal
2024-11-06 17:33:02186semak imbas

How to Remove Trailing Zeros from Decimal Numbers in Scientific Notation?

Notasi Saintifik dengan Perpuluhan

Cara memaparkan nombor perpuluhan yang besar dalam tatatanda saintifik boleh menjadi cabaran biasa. Terutamanya, mengalih keluar sifar mengekor yang tidak diperlukan daripada mantissa boleh diingini.

Untuk menentukan ketepatan mantissa, gunakan rentetan format %.2E. Sebagai contoh, '%.2E' % Decimal('40800000000.00000000000000') mengembalikan '4.08E 10'.

Walau bagaimanapun, jika anda ingin mengalih keluar semua sifar mengekor secara automatik, fungsi tersuai seperti berikut boleh digunakan:

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

Fungsi ini boleh mengendalikan pelbagai perpuluhan nilai input. Contohnya:

format_e(Decimal('40800000000.00000000000000'))
# Output: '4.08E+10'

format_e(Decimal('40000000000.00000000000000'))
# Output: '4E+10'

format_e(Decimal('40812300000.00000000000000'))
# Output: '4.08123E+10'

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Sifar Mengekor daripada Nombor Perpuluhan dalam Notasi Saintifik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn