Sau khi tạo loại số riêng (thực tế là DoubleDouble
), tôi muốn triển khai giao diện IFormattable
. Vì vậy, tôi phải bằng cách nào đó phân tích chuỗi định dạng.Hỗ trợ ToString (định dạng chuỗi) với kiểu số tùy chỉnh
public string ToString(string format, IFormatProvider formatProvider) {
// formatting string according to format and using formatprovider?
return formattedString;
}
Người dùng của lớp sẽ có thể sử dụng nó thay thế cho double
(hoặc bất kỳ định dạng số nào khác).
String.Format("{0:0.##}", (DoubleDouble)123.4567);
Câu hỏi của tôi là, có ai biết hướng dẫn hay về điều này hoặc có thể cho tôi một số gợi ý không? Làm thế nào để hỗ trợ bản địa hóa trong quá trình này?
Làm cách nào để phân tích chuỗi định dạng? Có một số phương pháp để hỗ trợ trong nhiệm vụ này hay tôi phải làm tất cả bằng cách "tay" với regexp và như vậy?
Tôi thực sự đã tìm kiếm trợ giúp nhưng không thể tìm thấy bất kỳ điều gì, nếu bạn tìm thấy thứ gì đó bằng ngôn ngữ khác (C, C++) có thể hữu ích, hãy cho tôi biết về điều đó.
Tôi bắt đầu với các chuỗi chuẩn trước khi tôi bắt đầu với sự đa dạng tùy chỉnh. Còn nội địa hóa thì sao? http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx – Jodrell
Tôi thấy điều này khá hữu ích - http://codebetter.com/davidhayden/2006/03/12/open-closed-principle-iformattable- iformatprovider-icustomformatter/ –
Tôi đã có phương thức ToString trả về một ký pháp khoa học. Vấn đề tôi phải đối mặt là, làm thế nào để phân tích một chuỗi định dạng và trả về một số tương ứng. Liên kết đã cho chỉ sử dụng các công cụ sửa đổi rất cơ bản. –