2011-02-21 61 views
5

Có thể chỉ định tham số string.Format() để thêm ký hiệu phần trăm mà không thay đổi giá trị của số không?Hiển thị số dấu phẩy động dưới dạng phần trăm mà không thay đổi giá trị số

Ví dụ:
Chúng tôi có số 44.36 và chúng tôi muốn hiển thị trong lưới và xuất ra Excel dưới dạng . Chia giá trị cho 100 và sau đó áp dụng định dạng "P" không phải là một tùy chọn. Thay đổi các giá trị không thể được thực hiện trong trường hợp này, chúng ta chỉ cần thực hiện nó bằng cách thay đổi giá trị DisplayFormat. Sử dụng string.Format("{0}%", valueParam) cũng không phải là một tùy chọn.

Trả lời

11

Chỉ định định dạng tùy chỉnh. Bạn cần phải thoát dấu phần trăm '%' bằng dấu gạch chéo ngược '\\' để nó không diễn giải lại giá trị dưới dạng phần trăm.

var number = 44.36m; 
var formatted = number.ToString("0.##\\%"); // "44.36%" 
// format string @"0.##\%" works too 

// using String.Format() 
var sformatted = String.Format("{0:0.##\\%}", number); // "44.36%" 
Các vấn đề liên quan