Rumah > pembangunan bahagian belakang > C++ > Mengapakah Pemformatan Berganda C# dan Nilai Penyahpepijat Berbeza?

Mengapakah Pemformatan Berganda C# dan Nilai Penyahpepijat Berbeza?

Susan Sarandon
Lepaskan: 2025-01-04 22:03:45
asal
204 orang telah melayarinya

Why Do C# Double Formatting and Debugger Values Differ?

Apa Yang Berlaku Apabila Memformat Berganda dalam C

Apabila memformat berganda untuk output dalam C#, adalah penting untuk ambil perhatian bahawa output berbeza daripada nilai yang dipaparkan dalam penyahpepijat. Inilah sebabnya:

Isu Asas

Tidak seperti C, di mana ketepatan output ditentukan oleh penentu format, C# membundarkan semua dua kali ganda kepada 15 digit perpuluhan bererti sebelum menggunakan sebarang pemformatan. Percanggahan ini timbul kerana C# mengutamakan ketepatan berbanding ketepatan yang diminta.

Gelagat Penyahpepijat Visual Studio

Penyahpepijat Visual Studio secara langsung memaparkan perwakilan binari dalaman bagi beregu, oleh itu percanggahan dengan output yang diformatkan.

Penyelesaian: Tersuai Memformat

Walaupun C# tidak mempunyai penyelesaian terbina dalam untuk pemformatan perpuluhan tepat, anda boleh membina perwakilan rentetan secara manual daripada data binari dalaman. Sebagai alternatif, anda boleh menggunakan perpustakaan pihak ketiga seperti DoubleConverter daripada Jon Skeet, yang menyediakan kaedah ToExactString untuk output perpuluhan yang tepat.

Contoh

Menggunakan DoubleConverter untuk memformat dua hingga 20 tempat perpuluhan:

double i = 10 * 0.69;
Console.WriteLine(DoubleConverter.ToExactString(i));
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah Pemformatan Berganda C# dan Nilai Penyahpepijat Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan