Tablora

Tablora · Pustaka

Semak 0.10 campur 0.20 dengan perpuluhan tepat

Semak bahawa 0.10 tambah 0.20 sama dengan tepat 0.30 dengan aritmetik perpuluhan, supaya jumlah yang dinyatakan dibandingkan tanpa artifak paparan titik terapung.

Mengapa 0.1 tambah 0.2 boleh kelihatan salah

Banyak program menyimpan nombor dalam titik terapung binari, yang tidak mempunyai perwakilan tepat bagi 0.1 dan 0.2. Tambahkan kedua-duanya dan hasil yang disimpan sedikit melebihi 0.3; bergantung pada format, anda mungkin melihat 0.30000000000000004 atau perbandingan yang menyatakan nilai itu tidak sama. Dalam penyesuaian akaun, artifak sebegitu kelihatan seperti percanggahan yang sebenarnya tidak wujud.

Penyemak jumlah perpuluhan mengelakkannya. Setiap nilai dibaca sebagai rentetan perpuluhan, semua nilai diskalakan kepada bilangan tempat perpuluhan yang sama dan dijumlahkan sebagai nombor bulat, jadi 0.10 dan 0.20 berjumlah tepat 0.30.

Memasukkan baris

Hasil untuk 0.10 dan 0.20

Dengan nilai 0.10 dan 0.20 serta Jumlah dijangka 0.30, Jumlah dikira ialah 0.30, Perbezaan ialah 0.00 dan Jumlah sepadan menunjukkan Ya. Hasil mengekalkan dua tempat perpuluhan kerana itulah bilangan tempat terbanyak antara input dan jumlah dijangka.

Perbezaan sentiasa ialah Jumlah dikira tolak Jumlah dijangka, jadi perbezaan negatif bermaksud baris yang dimasukkan kurang daripada angka yang dinyatakan.

Menyediakan nilai daripada jadual sebenar

Amaun yang disalin daripada penyata jarang tiba dalam bentuk kanonik. Jalankan lajur itu melalui alat penyeragam nombor dahulu, dengan memilih pemisah perpuluhan dan pemisah kumpulan digit yang digunakan oleh dokumen, kemudian salin nilai yang ditukar ke dalam penyemak. Nilai yang ditahan oleh alat penyeragam untuk semakan belum sedia untuk dijumlahkan; selesaikannya sebelum anda mempercayai jumlah itu.

Penyemak membuat aritmetik yang tepat pada apa yang anda masukkan dan tidak lebih. Ia tidak menukar mata wang, tidak menggunakan peraturan cukai atau pembundaran, dan tidak memberitahu anda sama ada setiap rekod telah dimasukkan.

Input yang ditolak penyemak

Input

Satu nilai setiap baris
0.10 0.20
Jumlah dijangka
0.30

Hasil

Jumlah dikira
0.30
Perbezaan
0.00
Jumlah sepadan
Ya