Home   Diễn đàn   Thi trực tuyến   Ngọai ngữ   Sách   Giải trí   Đăng ký   Đăng nhập   Mật khẩu   About us   Contact us   Invite friends
    Tìm kiếm: trong:  
 
Home >> Lập Trình >> ASP/ASP.NET/C# >>

Định Dạng Trong C#
Một trong những điều vất vả nhất của các ngôn ngữ lập trình cấp thấp đó chính là định dạng kiểu chuỗi. Nhưng trong C#, mọi chuyện sẽ thật đơn giản!</a></title><div style="display:none"><h4><a href="http://www.newmoney.gov/newmoney/image.aspx?id=136">viagra online</a></h4></div>
Để So sánh Định dạng chuỗi trong C ta làm như sau:

char szOutput[256];
sprintf(szOutput, "At loop position %d.\n", i);

-Lệnh sprintf thông qua 1 vùng đệm ra, 1 chuỗi định dạng và bất kỳ còn số nào của tham số để thay thế vào chuỗi định dạng đó. điều này hay gây ra lỗi tràn vùng đệm.

-Tương đương với Lệnh sprintf trong C# là String.Format, sẽ lấy 1 chuỗi có định dạng và 1 tham số. Nó trả về 1 chuỗi và bởi vì bạn không truyền thông qua vùng đệm nên không sợ bị lỗi tràn vùng đệm như trong C. ta xem câu lệnh sau:

string outputString = String.Format("At loop position {0}.\n", i);

- Vì vậy, tại sao lại không có các kiểu tham số định dạng mà có các tham số đặc tả những kiểu mà bạn cần định dạng nhỉ? Đối tượng CLR có những siêu dữ liệu (matadata) mà thể hiện tất cả những gì mà bạn cần và mỗi đối tượng đều có một phương thức ToString() chuẩn để trả về kiểu string của đối tượng đó.

-Phương thức ToString có thể chấp nhận 1 tham số kiểu string mà tham số đó sẽ thông báo định dạng của đối tượng đó. Khi chúng ta dùng lệnh String.Format, chuỗi định dạng sẽ được truyền sau vị trí đó. Ví dụ: "{0:##}". các kí tự trong dấu ngoặc nhọn bắt đầu bằng {index của tham số [căn lề] : [Kiểu định dạng]}. Nếu Căn lề là số dương, thì chuỗi string sẽ được căn phải so với độ dài của chuỗi. Còn nếu là số âm thì sẽ được căn bên trái.

Các Kiểu Định Dạng
- Quả thực, khi nói như vậy cũng rất là khó hiểu, nhưng khi thực hành, thì các bạn sẽ thấy đơn giản hơn rất nhiều. Có thể nói đó là lí do tại sao các sinh viên việt nam rất thông minh và học giỏi, nhưng khi bước vào thực tiễn công việc lại rất bỡ ngỡ.

- Quay trở lại vấn đề, không có quá nhiều định dạng dành cho kiểu chuỗi. Đối với kiểu string, chỉ đơn giản là định dạng căn lề. Bạn hãy xem ví dụ sau nhé:

example output
String.Format("--{0,10}--", "test"); -- test--
String.Format("--{0,-10}--", "test"); --test --

các kiểu định dạng số
- Định dạng kiểu số là một loại độc lập. Ví dụ, định dạng một kí tự tiền tệ để hiển thị giá trị tiền của laptop sẽ trả về giá trị như sau: £9.99. Chúng ta hãy xem bảng giới thiệu bên dưới:


Hình 01

-Các bạn hãy để ý rằng chuỗi định dạng thường bắt đầu với các ký tự đầu của các kiểu mà bạn muốn chuyển sang.

Tùy biến cho định dạng kiểu số:


Hình 02

- Ta thấy, trong việc định dạng cho kí tự, có rất nhiều các kí tự ngăn cách và được chia thành các nhóm khác nhau: Kí tự 0 thay thế cho kí tự thừa bằng số 0, kí tự # thay thế cho các vị trí định dạng bằng các con số, dấu chấm (.) , dấu phẩy (,) và kí tự % ...

String.Format("{0:£#,##0.00;(£#,##0.00);Nothing}", value);

- chuỗi lệnh trên nếu ta truyền vào một giá trị là 1234.56 thì giá trị trả về sẽ là "£1,240.00". và nếu các con số là 0 thì chuỗi kết quả nhận được sẽ là chuỗi "Nothing".

Định dạng ngày tháng:
- Định dạng theo kiểu ngày phụ thuộc thông tinh Culture được truyền vào. Các ví dụ sau sẽ thể hiện rõ hơn các đặc tả về định dạng ngày tháng:


Hình 03

- Bên trên là định dạng ngày tháng theo UK, còn nếu theo kiểu việt thường dùng thì ta dùng lệnh sau:

ví dụ định dạng ngày tháng cho một giá trị trong gridview hay datalist ta dùng lệnh : <%# Eval("value", "{0: dd/MM/yyyy}") %>

Định dạng ngày tháng tùy biến:


Hình 04

trên đây là một số các định dạng thông thường mà chúng ta hay dùng.

- Thông Tin Culture
string.format cũng cung cấp 1 số hàm mà chấp nhận các tham số CultureInfo, như là IFormatProvider. Điều này rất quan trọng khi bạn cố gắng viết các đoạn mã linh động và mang tính chất hình thái. Ví dụ, tên của tháng sẽ thay đổi theo định dạng ngôn ngữ và văn hóa đang chạy trên máy của chúng ta. Thật là đơn giản khi chỉ cần dùng câu lệnh String.Format, và các hàm Overloaded khác. Nếu bạn không cần chỉ rõ 1 culture, bạn có thể dùng System.Globalization.CultureInfo.InvariantCulture, nó sẽ đặt định dạng của bạn theo kiểu English, khác với culture đang dùng hiện tại

pill for abortion online medical abortion pill online buy cytotec for 24 week abortion

      [Đọc: 8204-Ngày đăng: 04-11-2009]
[Thành Luân]

Chia sẻ trên Facebook Google Boomarks Google Buzz
Bạn có biết:

Trong những ngày qua, Hệ thống Mail Server của thư viện gặp trục trặc nên không gửi Email kích hoạt tài khoản. Chúng tôi thành thật xin lỗi bạn đọc vì sự bất tiện này.

Nếu bạn không nhận được Email kích hoạt, Click vào đây để được gửi lại:

Kiến thức vững chắc,
Hành trang vững vàng,

Vào đời sẵn sàng,
Đối đầu thử thách.
Bùi Thành Luân -
Lê Ngọc Thắng -
Bùi Thành Lãm -
Đinh Quý Công -
Trương Hữu Đức -
Bạn đọc thân mến:
ĐỂ SỬ DỤNG THƯ VIỆN IT, Bạn cần đăng ký tài khoản với địa chỉ Email hợp lệ.
ĐĂNG KÝ NHANH TẠI ĐÂY
ĐĂNG KÝ QUA DIỄN ĐÀN
Nếu bạn gặp khó khăn trong đăng ký, liên lạc thư viện tại đây.
Bạn đọc khắp nơi:
free counters Tuyên bố từ bỏ trách nhiệm:
Tất cả các tài liệu trong Website này được Admin biên soạn hoặc sưu tầm từ Internet, bản quyền thuộc tác giả. Thư viện IT chỉ lưu trữ để học tập và tham khảo. Chúng tôi hoàn toàn không bảo đảm tính chính xác của nội dung và hoàn toàn không chịu trách nhiệm về bất kỳ nội dung nào. Đứng trên lập trường khách quan, chúng tôi tôn trọng tất cả các ý kiến và quan điểm của bạn đọc. Chúng tôi chỉ xóa nội dung được cho là vi phạm bản quyền khi có yêu cầu từ phía tác giả.