Indonesian (Bahasa Indonesia) translation by Dian Sapta Priambogo (you can also view the original English article) Show Bekerja dengan angka dalam PHP tampaknya merupakan konsep yang sepele tetapi bisa sangat membingungkan. Awalnya terlihat mudah karena PHP menyediakan konversi tipe otomatis. Misalnya, Anda dapat menetapkan nilai integer ke variabel dan jenis variabel yang akan menjadi integer. Pada baris berikutnya, Anda dapat menetapkan string ke variabel yang sama dan jenisnya akan berubah menjadi string. Sayangnya, konversi otomatis ini terkadang dapat merusak kode Anda. Ada banyak jenis untuk nilai numerik juga. Dalam tutorial ini, Anda akan belajar tentang integer dan float di PHP, serta fungsi-fungsi yang dapat digunakan untuk menentukan jenis angka yang kita hadapi dan konversi di antara mereka. Anda juga akan belajar cara mengonversi integer dan float ke dan dari string numerik. Berbagai Jenis Angka dalam PHPIntegerJenis angka paling dasar dalam PHP adalah integer. Seperti yang mungkin sudah Anda ketahui, integer adalah angka tanpa bagian desimal. Sebagai contoh, 2 adalah sebuah integer dan 235298 atau -235298 juga termasuk integer. Di sisi lain, 2.0 dan 3.58 adalah float. Kita akan membahasnya secara lebih rinci nanti. Satu hal penting untuk diingat adalah bahwa tidak perlu bahwa sejumlah angka yang bertipe Selain itu, nilai maksimum yang mungkin dimiliki integer dalam PHP di sistem Anda dapat diperoleh dengan menggunakan konstan Secara umum, Anda akan mengharapkan hasil dari perkalian dua variabel dari tipe Anda dapat menggunakan fungsi FloatTipe nomor paling umum berikutnya yang akan Anda tangani adalah float. Tidak seperti integer, yang hanya berupa angka tanpa titik desimal dalam banyak kasus, nomor bertipe PHP akan secara otomatis mengonversi angka ke tipe Nilai Ada dua fungsi yang dapat digunakan untuk menentukan apakah nilai yang Anda hadapi adalah float. Fungsi-fungsi ini adalah Infinity dan NaNAda dua jenis nilai numerik yang mungkin harus Anda tangani saat menulis program yang berkaitan dengan
Matematika. Nilai-nilai ini tak terhingga dan Infinity dalam PHP berbeda dengan infinity dalam kehidupan nyata. Dalam PHP, nilai numerik apa pun di atas sekitar Demikian pula, String Angka dalam PHPSama seperti PHP yang secara dinamis mengubah jenis angka yang berbeda berdasarkan pada bagaimana nilai-nilai mereka digunakan atau ditugaskan, itu juga dapat menyimpulkan nilai string numerik yang berbeda bagi Anda untuk mengubahnya menjadi angka. . Fungsi Mulai dari PHP 7.0.0, ketika Anda meneruskan string ke PHP secara implisit akan memberikan string numerik apa pun yang valid ke suatu angka ketika diperlukan. Contoh-contoh berikut akan membantu Anda memahami proses ini dengan lebih baik. <?php $num = "3258712" + 12380; // Output: int(3271092) var_dump($num); $num = "3258712" + "12380"; // Output: int(3271092) var_dump($num); $num = 3258712 + "12380"; // Output: int(3271092) var_dump($num); $num = 3258712 * "12380"; // Output: float(40342854560) var_dump($num); $num = 3258712 / "12380"; // Output: float(263.2239095315) var_dump($num); $num = 3258712 / "8"; // Output: int(407339) var_dump($num); $num = "53.9e4" + 10; // Output: float(539010) var_dump($num); $num = "398.328" + 10; // Output: float(408.328) var_dump($num); $num = "398328" + 0xfedd24; // Output: int(17101084) var_dump($num); $num = 398328 + "0xfedd24"; // Output: int(398328) var_dump($num); ?> Seperti yang Anda lihat, semua string numerik yang valid dikonversi ke nilai masing-masing sebelum penambahan atau operasi lainnya
dilakukan. Tipe Dalam kasus terakhir, string heksadesimal "0xfedd24" tidak dikonversi ke nilai desimal karena PHP 7 tidak menganggapnya sebagai string numerik yang valid. Memasukkan String dan Float ke IntegerSesekali, Anda harus memasukkan satu jenis nilai numerik ke yang lain. PHP memiliki beragam fungsi dan teknik untuk melakukannya. Sebagian besar waktu, konversi akan tersirat dan Anda tidak perlu khawatir tentang hal itu. Namun, jika Anda harus melakukan konversi secara eksplisit teknik yang disebutkan di sini pasti akan membantu. Anda dapat menggunakan <?php $float_a = 3598723.8258; $int_cast = (int)$float_a; // Output: 3598723 echo $int_cast; $string_a = "98723.828"; $int_cast = (int)$string_a; // Output: 98723 echo $int_cast; $string_b = "987233498349834828"; $int_cast = (int)$string_b; // Output: 2147483647 echo $int_cast; $float_b = 21474836473492789; $int_cast = (int)$float_b; // Output: -6507212 echo $int_cast; ?> Anda harus mencatat bahwa memasukkan string yang meluap ke integer akan menetapkan nilai akhir ke nilai integer maksimum yang diizinkan. Namun, memasukkan float yang nilainya lebih dari nilai integer maksimum yang dibolehkan akan menghasilkan nilai terombang-ambing antara Dalam situasi tertentu, Anda mungkin harus berurusan dengan angka yang sangat besar tanpa kehilangan presisi. Misalnya, tidak mungkin untuk
mendapatkan hasil yang akurat dari perkalian Library tertentu akan menginginkan Anda untuk hanya mengirimkan nomor bertipe Salah satu contoh kapan situasi seperti itu bisa muncul adalah ketika Anda berhadapan dengan fungsi Matematika seperti <?php $int_a = 15*12; // Output: int(180) var_dump($int_a); $num = floor($int_a); // Output: float(180) var_dump($num); ?> Satu masalah dengan memasukkan float ke integer adalah bahwa Anda akan kehilangan bagian desimal dari angka. Ini mungkin diinginkan atau tidak. Dalam kasus seperti itu, Anda dapat menggunakan fungsi seperti <?php $number = 16*2.5; if(floor($number) == $number) { $fraction->setNumerator((int)$number); } else { echo 'Did not set the numerator.'; doSomethingElse(); } ?> Katakanlah Anda memiliki library yang memungkinkan Anda untuk melakukan aritmatika fraksional dan
melempar pengecualian ketika Anda meneruskan angka ke metode Kata PenutupTutorial ini telah membahas berbagai cara di mana PHP menyimpan angka dan bagaimana Anda dapat menentukan apakah sebuah nomor
bertipe tertentu. Misalnya, Anda dapat menggunakan fungsi seperti Seperti yang Anda lihat di tutorial, PHP mendukung konversi tipe otomatis. Ini berarti bahwa terkadang bilangan bulat yang lebih kecil seperti Setelah membaca tutorial ini, Anda harus dapat menentukan tipe angka atau tipe akhir hasil setelah menggunakan berbagai operasi menggunakan fungsi yang telah ditentukan dan juga secara eksplisit memasukkannya ke tipe tertentu setelah melakukan beberapa pemeriksaan. Seperti biasa, jika Anda memiliki pertanyaan atau tips tambahan, silakan komentar di bawah. |