Skip to Content
Kotlin📘 Ngôn ngữ KotlinKiểu dữ liệu Số (Int, Long, Double, Float)

Kiểu dữ liệu Số (Int, Long, Double, Float) trong Kotlin

1. Các kiểu số nguyên

val byte: Byte = 127 // 8-bit: -128 to 127 val short: Short = 32767 // 16-bit val int: Int = 2147483647 // 32-bit (mặc định) val long: Long = 9223372036854775807L // 64-bit (thêm L) // Unsigned (không âm) val ubyte: UByte = 255u val uint: UInt = 4294967295u val ulong: ULong = 18446744073709551615u

2. Các kiểu số thực

val float: Float = 3.14f // 32-bit (thêm f) val double: Double = 3.14159 // 64-bit (mặc định) // Scientific notation val million = 1e6 // 1000000.0 val nano = 1e-9 // 0.000000001

3. Số literals với underscore

val million = 1_000_000 val creditCard = 1234_5678_9012_3456L val hex = 0xFF_EC_DE_5E val binary = 0b1101_0010

4. Type inference

val a = 10 // Int val b = 10L // Long val c = 3.14 // Double val d = 3.14f // Float

5. Number systems

val decimal = 100 // Decimal val hex = 0x64 // Hexadecimal val binary = 0b1100100 // Binary println(decimal) // 100 println(hex) // 100 println(binary) // 100

6. Type conversion

val int = 100 val long = int.toLong() val double = int.toDouble() val float = int.toFloat() val byte = int.toByte() // String to number val str = "123" val num = str.toInt() val numOrNull = str.toIntOrNull() // Safe conversion

7. Number operations

val a = 10 val b = 3 println(a + b) // 13 println(a - b) // 7 println(a * b) // 30 println(a / b) // 3 (integer division) println(a % b) // 1 println(a.toDouble() / b) // 3.333...

8. Math functions

import kotlin.math.* println(abs(-10)) // 10 println(max(5, 10)) // 10 println(min(5, 10)) // 5 println(sqrt(16.0)) // 4.0 println(2.0.pow(3.0)) // 8.0 println(ceil(3.2)) // 4.0 println(floor(3.8)) // 3.0 println(round(3.5)) // 4.0

9. Number ranges

val range = 1..10 // 1 to 10 val downRange = 10 downTo 1 val stepRange = 1..10 step 2 println(5 in range) // true println(15 in range) // false

10. Special values

println(Double.MAX_VALUE) println(Double.MIN_VALUE) println(Double.POSITIVE_INFINITY) println(Double.NEGATIVE_INFINITY) println(Double.NaN) val x = 1.0 / 0.0 // Infinity val y = 0.0 / 0.0 // NaN

📝 Tóm tắt

  • Int (mặc định số nguyên), Long (thêm L)
  • Double (mặc định số thực), Float (thêm f)
  • Underscore _ để dễ đọc: 1_000_000
  • Hex: 0x, Binary: 0b
  • Phải chuyển kiểu tường minh: toInt(), toDouble()
  • kotlin.math cho các hàm toán học
  • Unsigned types: UInt, ULong, etc.
Last updated on