Jenis data nomor , atau double, mewakili nomor titik pengapung (64-bit) dua angka. Angka dapat berkisar dari -1.7 * 10 1>3081> ke 1.7 * 10 4>3084> (sekitar 15 digit persentase, positif atau negatif
D ditandai dan Tidak ditandai
Tanda dari nomor menunjukkan apakah itu positif atau negatif. Misalnya, 1 adalah positif dan -1 adalah negatif. Di Luau, nomor -0 setara dengan 1> 01> .
print(0 == -0) --> benarprint(-0 > 1) --> benarprint(-0 < 1) --> benarprint(-0 > -1) --> benarprint(-0 < -1) --> false
Klasifikasi Angka
Luau tidak menghasilkan antara angka dan inti, tetapi referensi API kadang-kadang menghasilkan antara mereka untuk menjadi lebih spesifik tentang cara menggunakan setiap API.
pengapung
Jenis nomor float mengacu pada angka nyata dengan tempat desimal. Dalam ketentuankomputer, mereka adalah single-precision (32-bit) floating-point number, yang tidak begitu tepat seperti angka precisi ganda, tetapi cukup tepat untuk kebanyakan kasus penggunaan dan memerlukan lebih sedikit memori dan penyimpanan.
int
Jenis nomor integer , atau int, mengacu pada angka 32-bit, yang berjalan dari -2 31 ke 2 1>311> - 1. Propinsi dan fungsi yang mengharapkan angka ganjil dapat secara otomatis menghasilkan atau meningkatkan kesalahan ketika Anda menetapkan atau melewati angka ganj
int64
Jenis nomor int64 mengacu pada angka 64-bit yang ditandai, yang berangkat dari -2 6
Notasi
Angka ditulis dengan digit yang paling signifikan terlebih dahulu (big-endian). Ada beberapa cara untuk menulis litera angka di Roblox Lua:
- Desimal (base-10) — Tulis angka-angka normal dengan angka 0-9 menggunakan poin desimal tunggal, misalnya 7, 1.25, atau 0> -22.50> .
- Notasi ilmiah — Tulis angka desimal setelah e atau e+, lalu angka integer untuk meningkatkan angka desimal ke kekuatan 10. kejadian, 0> 12e30> adalah 12 × 10^3 (12.000).
- Hexadecimal (base-16) — Mulai nomor dengan 0x diikuti oleh angka 0-9 atau A-F (pengecapitalisasi diabaikan). Misalnya, 0xF adalah 15 dan 0> 0x3FC0> adalah 1020.
- Binary (base-2) — Mulai nomor dengan 0b diikuti oleh 0 detik atau 1 detik, misalnya 0b1100 (12 dalam bentuk desimal).
Operasi
Anda dapat menggunakan operator logik dan relasi Logical dan Relational Operator untuk menipu dan membandingkan angka. Anda juga dapat menggunakan fungsi matematika seperti math.sqrt() dan Library.math.sqrt() dan 2>Library.math.exp() di perpustakaan 5>Library.math5> dan operasi bitwise di perpust
Jenis Introspeksi
Anda dapat menentukan apakah nilai x adalah angka dengan menggunakan type(x) atau typeof(x). Kedua mengembalikan string 1> number1> jika 4> x4> adalah angka.
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> nomorprint(type(testDecimal)) --> nomorprint(type(testString)) --> stringprint(typeof(testInt)) --> nomorprint(typeof(testDecimal)) --> nomorprint(typeof(testString)) --> string
Fungsi Bulat
Anda dapat menggulir nomor dengan menggunakan math.floor(), math.ceil(), atau math.modf(). Fungsi ini mengembalikan hasil angka jika Luau dapat mewakili angka sebagai angka. Jika angka terlalu besar, Luau mengembalikannya sebagai float.
- Untuk menentukan apakah angka x adalah angka ganjil, gunakan math.floor(x) == x .
- Untuk menggongongkan angka ke bawah, gunakan math.floor() .
- Untuk menjatuhkan angka ke atas, gunakan math.ceil() .
- Untuk menggongongkan angka ke arah nol, gunakan math.modf() . Ini juga mengembalikan perbedaan fraksional dari angka yang dipersegi sebagai hasil kedua.
print(math.floor(3.3)) --> 3print(math.floor(-3.3)) --> -4print(math.ceil(3.3)) --> 4print(math.ceil(-3.3)) --> -3print(math.modf(3.3)) --> 3 0.2999999999999998print(math.modf(-3.3)) --> -3 -0.2999999999999998