2012-05-10 20 views
5

Làm thế nào để định dạng một phao để String:phao để chuỗi có ít nhất một chữ số sau thời gian

1 => "1.0"

1,12345 => "1,12345"

Thay vì:

String.Format("{0:0.0}", 123.0); // Limit amount of digits 

Cảm ơn bạn!

+1

Thay vì {0: 0.0}? Bạn đang tìm kiếm một thay thế cho string.Format() hoặc bạn tuyên bố rằng ví dụ trên của bạn không hoạt động, bởi vì tôi tin nó. –

+0

Cảm ơn bạn đã bình luận. Có, tôi đang tìm kiếm thứ gì đó để thay thế {0: 0.0}, nhưng tôi đã thử nghiệm nó. Nó giới hạn nó chỉ còn một chữ số sau một khoảng thời gian. –

Trả lời

8

Có giới hạn tối đa cho số chữ số không?

Bạn thay vì có thể sử dụng:

String.Format("{0:0.0#####}", floatVal) 

Bạn có thể kéo dài tuổi # ra bất cứ điều gì bạn muốn/xem xét hợp lý. Theo sau . của trình định dạng định dạng, 0 cho biết vị trí chính xác thập phân nên luôn hiển thị, trong khi # cho biết nó sẽ được hiển thị nếu có.

+0

Đây là một lựa chọn rất tốt. Tôi không kiểm soát được độ chính xác mà họ muốn, nhưng tôi có thể thêm rất nhiều thứ nếu cần. –

0
float f = 1.45783f; 
string result = f.ToString("f2"); 
+0

Xin lỗi, không hoạt động với tôi: f = 1.0 => "1.00", f = 1.2345 => "1.23" –

0

toString() có thể lấy IFormatProvider cho phép bạn định dạng các loại dữ liệu khác nhau sang các định dạng khác.

float f = 1.45783f; 
string result = f.ToString("f2"); 
+0

Cảm ơn bạn đã phản hồi. FYI: f.ToString (định dạng) và String.Format (định dạng, f) giống hệt nhau về mặt cơ bản. –

Các vấn đề liên quan