Menu
CoddyTech

Định dạng chuỗi

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 33 trên 92.

Nối nhiều giá trị bằng + và str() khiến dòng lệnh dài hơn. Chuỗi định dạng (format string) dễ đọc hơn: bạn viết văn bản một lần, đặt ký hiệu giữ chỗ (placeholder) ở vị trí của mỗi giá trị, rồi đưa các giá trị vào sau toán tử %:

var player_name := "Ada"
var age := 12
print("%s is %d years old" % [player_name, age])

Câu lệnh này in ra Ada is 12 years old. Các giá trị nằm trong dấu ngoặc vuông, theo cùng thứ tự với các phần giữ chỗ. Nếu chỉ có một giá trị, bạn có thể bỏ dấu ngoặc: "HP: %d" % 80 là HP: 80.

Các ký hiệu giữ chỗ bạn sẽ dùng nhiều nhất:

  • %s chèn một giá trị bất kỳ dưới dạng văn bản
  • %d chèn một số nguyên
  • %.2f chèn một số thực được làm tròn đến 2 chữ số thập phân

Ví dụ, với var price := 2.5:

print("Price: %.2f" % price)
print("Price: %s" % price)

Dòng đầu tiên in ra Price: 2.50, dòng thứ hai in ra Price: 2.5.

Để in dấu phần trăm trong chuỗi định dạng, hãy viết %%: "%d%%" % 50 là 50%.

Số lượng giá trị phải khớp với số lượng chỗ trống. Khi thiếu một giá trị, GDScript báo lỗi định dạng khi chạy dòng lệnh.

challenge icon

Thử thách

Dễ

Một cửa hàng bán thuốc. Chương trình lưu tên mặt hàng, giá và số lượng đã mua. Hãy dùng một chuỗi định dạng cùng toán tử % để in dòng hóa đơn:

Item: Health Potion x3, total: $7.50

Tổng tiền là price * quantity, hiển thị với 2 chữ số thập phân. Đặt các giá trị trong dấu ngoặc vuông sau %.

Tự làm thử

extends Node

func _ready():
	var item_name := "Health Potion"
	var price := 2.5
	var quantity := 3
	# In dòng biên lai bằng chuỗi định dạng
	pass
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