Rumah > Soal Jawab > teks badan
double s = 5.3;
double s1 = 4.2;
System.out.println(s-s1);
输出1.0999999999999996
阿神2017-04-17 17:48:37
Intipati jenis apungan dan berganda dalam jenis data asas Java ialah nombor titik terapung tidak boleh menyimpan data yang tepat Dalam kes ini, apabila nombor titik terapung dikira, hasil pengiraan tidak akan menjadi nilai yang tepat.
Oleh itu, Java menyediakan kelas BigDecimal
Jika anda perlu melakukan operasi data yang tepat (seperti jumlah), anda boleh menggunakan kelas ini untuk menyelamatkan negara...
Mengenai pelaksanaan asas dan prinsip nombor titik terapung, perkara ini sering dibincangkan dalam kursus seperti 计算机原理
Anda boleh mencari sendiri maklumat yang berkaitan...
迷茫2017-04-17 17:48:37
Menggunakan BigDecimal dalam Java untuk pengiraan tepat nombor titik terapung
巴扎黑2017-04-17 17:48:37
Terima kasih atas jemputan! Saya tidak dapat menjelaskan mengapa ketepatan itu hilang, tetapi saya tahu cara menyelesaikannya. Adalah disyorkan untuk menukar dua jenis dan jenis lain kepada String sebelum pengiraan, dan kemudian memasukkannya ke dalam java.math.BigDecimal untuk pengiraan . math.BigDecimal datang dengan kaedah operasinya sendiri, seperti add() dan pide(). . Tunggu, objek BigDecimal akan dikembalikan selepas pengiraan, dan kemudian ditukar kepada jenis data asas menggunakan doubleValue(), intValue() dan kaedah lain.
迷茫2017-04-17 17:48:37
Terima kasih atas jemputan, anda boleh rujuk artikel ini untuk soalan inihttps://zm8.sm-tc.cn/?src=http://z...
伊谢尔伦2017-04-17 17:48:37
Kerana aritmetik komputer adalah binari.
Penukaran 0.1 dalam perpuluhan kepada perduaan ialah perpuluhan berulang yang tidak terhingga dan mesti dipotong.
Untuk penambahan dan penolakan mata wang perpuluhan, anda boleh menggunakan jenis BigDecimal (dipanggil Decimal dalam sesetengah bahasa) untuk mengelakkan ralat pemotongan.
Anda juga boleh menentukan sendiri kelas nombor, seperti yang dilakukan oleh matlab.
Ralat dan ralat adalah dua perkara yang berbeza Perbezaan pada akhirnya tidak penting dalam kebanyakan kes.
Contohnya: Gunakan nombor titik terapung berketepatan dua untuk mengira lilitan bumi Ralat pemotongan adalah pada tertib 0.000001 milimeter.