var stringValue = Convert.ToDecimal(value).ToString("$0.00");
Như đã lưu ý bởi @James bên dưới, điều này sẽ mã hóa tiền tệ thành định dạng. Sử dụng định dạng C2
sẽ sử dụng định dạng tiền tệ của hệ thống. Điều này có thể được thay đổi cho hệ thống (ví dụ: trong Windows 7 - Start - Control Panel - Thay đổi ngôn ngữ hiển thị - Cài đặt bổ sung - Tiền tệ - Nhóm chữ số) và sẽ cho phép định dạng C2
hiển thị giá trị tiền tệ không có dấu phẩy khi chạy trên hệ thống cụ thể đó .
EDIT
Tất cả tín dụng cho @ James cho việc sử dụng văn hóa hiện hành. Sửa đổi duy nhất của tôi cho câu trả lời của anh ấy là sao chép NumberFormat
hiện tại để có được tất cả các thuộc tính của định dạng số văn hóa hiện tại trước khi xóa CurrencyGroupSeparator
.
var formatInfo = (NumberFormatInfo)CultureInfo.CurrentCulture.NumberFormat.Clone();
formatInfo.CurrencyGroupSeparator = string.Empty;
var stringValue = Convert.ToDecimal(value).ToString("C", formatInfo);
Nguồn
2012-06-29 12:23:25
yah là xong! Sẽ được chấp nhận sau 8 phút :) –
Mặc dù nó hoạt động, nó không phải là một giải pháp linh hoạt tức là mã hóa tiền tệ của bạn là đô la. – James
Có cách nào để chuyển đổi chuỗiValue này trở lại số không? – Micro