var stringValue = Convert.ToDecimal(value).ToString("$0.00");
Come notato da @James indicati, questo hard-coded moneta nel formato. Utilizzando il formato C2
verrà utilizzato il formato di valuta del sistema. Questo può essere modificato per il sistema (ad esempio in Windows 7 - Start - Pannello di controllo - Cambia lingua di visualizzazione - Impostazioni aggiuntive - Valuta - Raggruppamento cifre) e consente al formato C2
di visualizzare il valore di valuta senza la virgola quando viene eseguito su quel particolare sistema .
EDIT
Tutto il merito per @James per utilizzare la cultura corrente. La mia unica modifica alla sua risposta sarebbe quella di clonare l'attuale NumberFormat
in modo da ottenere tutte le proprietà del formato del numero di cultura corrente prima di rimuovere lo CurrencyGroupSeparator
.
var formatInfo = (NumberFormatInfo)CultureInfo.CurrentCulture.NumberFormat.Clone();
formatInfo.CurrencyGroupSeparator = string.Empty;
var stringValue = Convert.ToDecimal(value).ToString("C", formatInfo);
fonte
2012-06-29 12:23:25
eh questo è tutto! Verrà accettato dopo 8 minuti :) –
Anche se funziona, non è una soluzione flessibile, ovvero il codice di valuta utilizzato come codice di sicurezza. – James
C'è un modo per convertire questo stringValue nel numero? – Micro