Kể từ decimal?
không có tình trạng quá tải ToString(string format)
, cách dễ nhất là sử dụng String.Format
thay vào đó sẽ cung cấp kết quả nhất quán với null
trường hợp cho decimalValue
cũng như (kết quả là một chuỗi rỗng) khi so sánh với mã ban đầu của bạn:
string value = String.Format("{0:#.##}", decimalValue * 100);
Nhưng có một số lưu ý khác cho số khác mà bạn không được xóa trên.
Nếu bạn có một số không tạo ra giá trị lớn hơn 0, nó có hiển thị số không đứng đầu không? Tức là, đối với 0.001211
, nó có hiển thị là 0.12
hoặc .12
không? Nếu bạn muốn các lãnh đạo không, sử dụng này để thay thế (chú ý sự thay đổi #.##
-0.##
):
string value = String.Format("{0:0.##}", decimalValue * 100);
Nếu bạn có nhiều hơn 2 chữ số thập phân có ý nghĩa, bạn có muốn những hiển thị? Vì vậy, nếu bạn có .12113405
nó có hiển thị là 12.113405
không? Nếu vậy sử dụng:
string value = String.Format("{0:#.############}", decimalValue * 100);
(một cách trung thực, tôi nghĩ rằng có phải là một chuỗi tốt hơn định dạng hơn, đặc biệt là khi nó chỉ hỗ trợ 12 chữ số thập phân)
Và tất nhiên nếu bạn muốn cả hai số không hàng đầu và nhiều chữ số thập phân, chỉ cần kết hợp hai trên:
string value = String.Format("{0:0.############}", decimalValue * 100);
Nguồn
2013-05-15 10:39:32
Lý do có thể là định dạng số mặc định của hệ thống cho số thập phân. –
Bạn có muốn hiển thị nhiều hơn hai chữ số thập phân nếu chúng không khác không? Tức là, nếu bạn có '.12113405' bạn muốn nó xuất hiện dưới dạng' 12.113405'? –
Chỉ là những gì tôi đã suy nghĩ: là nó chỉ là dấu chân sau, hoặc bạn muốn luôn luôn giới hạn bởi 2 số thập phân? Trong trường hợp trước đây, không có câu trả lời nào cung cấp câu trả lời hay. –