Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.
Gunakan enumerasi MidpointRounding dengan overload yang sesuai dari Math.Round, MathF.Round, dan Decimal.Round untuk memberikan kontrol lebih besar atas proses pembulatan.
Ada dua strategi pembulatan umum—pembulatan ke nilai terdekat dan pembulatan terarah—dan setiap bidang enumerasi mengikuti salah satu dari strategi ini.
Membulatkan ke terdekat
Bidang:
Operasi round-to-nearest dimulai dengan angka asli dengan presisi yang sudah ditentukan atau implisit; kemudian memeriksa digit berikutnya pada tingkat presisi tersebut ditambah satu; dan menghasilkan angka terdekat dengan presisi yang sama seperti angka aslinya. Untuk angka positif, jika digit berikutnya adalah dari 0 hingga 4, angka terdekat adalah menuju tak terbatas negatif. Jika digit berikutnya adalah dari 6 hingga 9, angka terdekat adalah menuju tak terbatas positif. Untuk angka negatif, jika digit berikutnya adalah dari 0 hingga 4, angka terdekat adalah menuju tak terbatas positif. Jika digit berikutnya adalah dari 6 hingga 9, angka terdekat adalah menuju tak terbatas negatif.
Jika digit berikutnya adalah dari 0 hingga 4 atau 6 hingga 9, MidpointRounding.AwayFromZero dan MidpointRounding.ToEven tidak memengaruhi hasil operasi pembulatan. Namun, jika digit berikutnya adalah 5, yang merupakan titik tengah antara dua hasil yang mungkin, dan semua digit yang tersisa adalah nol atau tidak ada digit yang tersisa, angka terdekat ambigu. Dalam hal ini, mode pembulatan ke yang terdekat dalam MidpointRounding memungkinkan Anda menentukan apakah operasi pembulatan mengembalikan angka terdekat menjauhi nol atau angka genap terdekat.
Tabel berikut menunjukkan hasil pembulatan beberapa angka negatif dan positif menggunakan mode pembulatan ke nilai terdekat. Presisi yang digunakan untuk membulatkan angka adalah nol, yang berarti angka setelah titik desimal mempengaruhi operasi pembulatan. Misalnya, untuk angka -2,5, digit setelah titik desimal adalah 5. Karena digit tersebut adalah titik tengah, Anda dapat menggunakan MidpointRounding nilai untuk menentukan hasil pembulatan. Jika AwayFromZero ditentukan, -3 dikembalikan karena merupakan angka terdekat dari nol dengan presisi nol. Jika ToEven ditentukan, -2 dikembalikan karena merupakan angka genap terdekat dengan presisi nol.
| Nomor asli | AwayFromZero | ToEven |
|---|---|---|
| 3.5 | 4 | 4 |
| 2.8 | 3 | 3 |
| 2,5 | 3 | 2 |
| 2.1 | 2 | 2 |
| -2.1 | -2 | -2 |
| -2.5 | -3 | -2 |
| -2.8 | -3 | -3 |
| -3.5 | -4 | -4 |
Pembulatan Terarah
Bidang:
Operasi pembulatan terarah mengambil bilangan asal dengan presisi implisit atau ditentukan serta mengembalikan bilangan terdekat setelahnya dalam arah yang ditentukan dengan presisi yang sama dengan bilangan asal. Mode diarahkan pada MidpointRounding untuk mengendalikan pembulatan ke nomor yang telah ditentukan sebelumnya.
Tabel berikut menunjukkan hasil pembulatan beberapa angka negatif dan positif bersama dengan mode pembulatan yang diarahkan. Presisi yang digunakan untuk membulatkan angka adalah nol, yang berarti angka sebelum titik desimal dipengaruhi oleh operasi pembulatan.
| Nomor asli | ToNegativeInfinity | ToPositiveInfinity | ToZero |
|---|---|---|---|
| 3.5 | 3 | 4 | 3 |
| 2.8 | 2 | 3 | 2 |
| 2,5 | 2 | 3 | 2 |
| 2.1 | 2 | 3 | 2 |
| -2.1 | -3 | -2 | -2 |
| -2.5 | -3 | -2 | -2 |
| -2.8 | -3 | -2 | -2 |
| -3.5 | -4 | -3 | -3 |