input license here

Type Conversion trong kotlin | Chuyển đổi kiểu dữ liệu

Chuyển đổi kiểu dữ liệu trong kotlin  (còn được gọi là ép kiểu) đề cập đến việc thay đổi thực thể của một biến kiểu dữ liệu thành kiểu dữ liệu khác.

Như chúng ta đã biết Java hỗ trợ chuyển đổi kiểu ngầm từ kiểu dữ liệu nhỏ hơn sang lớn hơn. Một giá trị số nguyên có thể được gán cho kiểu dữ liệu dài.

Chuyển đổi kiểu dữ liệu

Ví dụ chuyển kiểu dữ liệu

var myNumber = 100

var myLongNumber: Long = myNumber            // Compiles Successfully

Nhưng, Kotlin không hỗ trợ chuyển đổi kiểu ngầm định. Không thể gán giá trị số nguyên cho kiểu dữ liệu dài.

var myNumber = 100

var myLongNumber: Long = myNumber       // Compiler error

// Kiểu không khớp: kiểu suy ra là Int nhưng mong đợi là Long

Trong Kotlin, hàm helper có thể được sử dụng để chuyển đổi rõ ràng một kiểu dữ liệu này sang kiểu dữ liệu khác sang kiểu dữ liệu khác.

var myNumber = 100

var myLongNumber: Long = myNumber.toLong()

Có thể sử dụng hàm trợ giúp sau để chuyển đổi một kiểu dữ liệu này sang kiểu dữ liệu khác:

  • toByte()
  • toShort()
  • toInt()
  • toLong()
  • toFLoat()
  • toDouble()
  • toChar()

Chuyển đổi từ kiểu dữ liệu lớn hơn sang nhỏ hơn

var myLongNumber = 10L

var myNumber2: Int = myLongNumber1.toInt()

Ví dụ

fun main(args: Array<String>) 

    println("259 to byte: " + (259.toByte())) 

    println("50000 to short: " + (50000.toShort())) 

    println("21474847499 to Int: " + (21474847499.toInt())) 

    println("10L to Int: " + (10L.toInt())) 

    println("22.54 to Int: " + (22.54.toInt())) 

    println("22 to float: " + (22.toFloat())) 

    println("65 to char: " + (65.toChar())) 

    println("A to Int: " + ('A'.toInt())) 

Kết quả:

259 to byte: 3

50000 to short: -15536

21474847499 to Int: 11019

10L to Int: 10

22.54 to Int: 22

22 to float: 22.0

65 to char: A

A to Int: 65

Related Posts
Diệp Quân
Nguyen Manh Cuong is the author and founder of the vmwareplayerfree blog. With over 14 years of experience in Online Marketing, he now runs a number of successful websites, and occasionally shares his experience & knowledge on this blog.
SHARE

Related Posts

Subscribe to get free updates

Post a Comment

Sticky