Bài tập C#

Định dạng hóa đơn và số liệu trong C#

Trong bài học này, bạn sẽ in một hóa đơn nhỏ với các cột thẳng hàng và số tiền được định dạng bằng nội suy chuỗi.

Giới thiệu

Khi in báo cáo ra console, việc căn chỉnh các cột thẳng hàng giúp dữ liệu dễ đọc hơn rất nhiều. Trong chuỗi nội suy của C#, bạn có thể quy định độ rộng và cách căn lề của mỗi giá trị, cũng như định dạng số mà không cần tự thêm khoảng trắng.

Trong {name,-8}, số -8 nghĩa là chiếm 8 ký tự và căn trái. {quantity,2} chiếm 2 ký tự và căn phải, còn {quantity * price,8:F2} chiếm 8 ký tự và hiển thị 2 chữ số thập phân. Nhờ vậy tên hàng, số lượng và thành tiền luôn thẳng cột trên mỗi dòng.

Ví dụ C# chạy được

C#
Chạy code →
Program.cs
using System;
class Program
{
    static void Main()
    {
        var lines = new[] { ("Book", 2, 12.50m), ("Pen", 3, 1.25m) };
        foreach (var (name, quantity, price) in lines)
            Console.WriteLine($"{name,-8} {quantity,2} {quantity * price,8:F2}");
    }
}
Kết quả khi chạy
Book      2    25.00
Pen       3     3.75

Luyện tập với trình gỡ lỗi

Đặt breakpoint ở một phép gán hoặc điều kiện quan trọng, bấm Debug và xem giá trị các biến cục bộ (local variable) trước khi bước sang dòng tiếp theo.

Luyện tập với thử thách

Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.

Tất cả thử thách