Menu
CoddyTech

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

Thuộc phần Kiến thức nền tảng trong hành trình GDScript của Coddy. Bài học 14 trên 92.

Chuyển kiểu đổi một giá trị từ kiểu này sang kiểu khác. Trong GDScript, bạn viết tên kiểu mới rồi đặt giá trị trong dấu ngoặc đơn: int(), float() hoặc str().

var whole := int(3.9) # 3
var decimal := float(5) # 5.0
var text := str(42) # "42"

int() bỏ phần thập phân mà không làm tròn: int(3.9) là 3, và int(-3.9) là -3.

Ép kiểu cũng chuyển văn bản thành số. "7" là một String, vì vậy bạn không thể gán nó cho biến int cho đến khi chuyển đổi:

var level_text := "7"
var level: int = int(level_text) # 7
var price := float("2.5") # 2.5

Nếu không có int(), var level: int = level_text sẽ gây lỗi vì level_text chứa một giá trị kiểu String.

str() chuyển mọi giá trị thành văn bản: str(2.5) là "2.5" và str(true) là "true".

Văn bản không phải là số sẽ không làm chương trình dừng lại. int("abc") cho ra 0, vì vậy giá trị 0 bất ngờ thường có nghĩa là văn bản đó không phải là số.

challenge icon

Thử thách

Người mới

Bên dưới chú thích, hãy tạo ba biến với các giá trị đã chuyển đổi:

  • int_price: giá trị của price được chuyển đổi thành int
  • level: văn bản trong level_text được chuyển đổi thành int
  • coins_float: giá trị của coins được chuyển đổi thành float

Đừng thay đổi các dòng khác. Chương trình in ra:

Price: 99.99
Int Price: 99
Level: 7
Coins: 15.0

Tự làm thử

extends Node

func _ready():
	var price := 99.99
	var level_text := "7"
	var coins := 15
	# Chuyển đổi các giá trị bên dưới
	
	# Đừng thay đổi các dòng bên dưới
	print("Price: ", price)
	print("Int Price: ", int_price)
	print("Level: ", level)
	print("Coins: ", coins_float)
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch GDScript online