Saya perlu mendapatkan nilai input yang tepat dari double spin box. Saya menetapkan 8 digit desimal untuk Spinbox saya. Ketika saya mengetik 0,6000000 yang saya dapatkan di debug adalah 0,59999999999998 seperti pada gambar (kadang 0,6000000000002).
Saya mencoba mengonversi nilai ini menjadi 0,60000000 menggunakan QString::number
dan mengubahnya lagi menjadi dua kali lipat. Yang saya terima adalah nilai lama lagi (0,59999999999998).
Namun saat saya mencetak nilai ini, hasilnya adalah 0,60000000.
Karena saya punya perhitungan setelah itu, jadi saya perlu nilai input yang tepat, kalau tidak perhitungan saya akan salah. Dalam hal ini saya harus menjadi tepat 0,60000000). Bagaimana saya bisa melakukan itu?
QString valueAsText = locale().toString( p_value, 'f', decimals() );
Saya mendapatkanvalueAsText
persis seperti yang saya ketik. Dari itu saya bisa mendapatkan bagian bilangan bulat dan bagian desimal (menggunakan string) dan kemudian mengubahnya lagi menjadiint
. dan itu berhasil :) - person songvan   schedule 09.04.2019