Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengalih Keluar Sifar Mengekor daripada Nombor Titik Terapung Sambil Mengekalkan Ketepatan?

Bagaimanakah Saya Boleh Mengalih Keluar Sifar Mengekor daripada Nombor Titik Terapung Sambil Mengekalkan Ketepatan?

Linda Hamilton
Linda Hamiltonasal
2024-11-20 17:16:20791semak imbas

How Can I Remove Trailing Zeros from Floating-Point Numbers While Maintaining Precision?

Memelihara Ketepatan Terapung Tanpa Mengekor Sifar

Apabila berurusan dengan nombor titik terapung, adalah wajar untuk mengalih keluar sifar mengekor untuk mengekalkan ringkasan perwakilan. Ini memastikan rentetan berangka sesingkat mungkin sambil mengekalkan ketepatannya.

Menggunakan Penentu Format '%g'

Satu penyelesaian ialah menggunakan '%g ' penentu format, yang direka untuk menjana perwakilan rentetan padat bagi nombor titik terapung. Ia mengalih keluar sifar di belakang dan titik perpuluhan jika tiada digit mengikutinya. Contohnya:

>>> '%g' % 3.140
'3.14'

Menggunakan Fungsi Rentetan Format

Dalam Python versi 2.6 dan lebih baru, anda boleh menggunakan kaedah format untuk mencapai hasil yang sama:

>>> '{0:g}'.format(3.140)
'3.14'

Untuk Python 3.6 dan ke atas, sintaks f-string menawarkan alternatif ringkas:

>>> f'{3.140:g}'
'3.14'

Penjelasan daripada Dokumentasi

Dokumentasi untuk fungsi format menyatakan bahawa '%g' menyebabkan sifar mengekor yang tidak ketara dialih keluar daripada significand (bahagian sebelum titik perpuluhan). Jika tiada baki digit selepas titik perpuluhan, ia juga dialih keluar. Tingkah laku ini selaras dengan matlamat kami untuk mengalih keluar sifar mengekor daripada rentetan titik terapung.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Sifar Mengekor daripada Nombor Titik Terapung Sambil Mengekalkan Ketepatan?. 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