Se fare
è una delle int
, long
, decimal
, float
o double
tanto sono l'output previsto di:
₹ 12,34,567.00
.
Sospetto che il tuo fare
sia in realtà un string
; le stringhe non sono formattate da string.Format
: sono già una stringa: non è possibile formattare il valore. Quindi: analizzalo prima (usando qualunque cosa sia appropriata, magari un'analisi decimale invariante), quindi formatta il valore analizzato; per esempio:
// here we assume that `fare` is actually a `string`
string fare = "1234567";
decimal parsed = decimal.Parse(fare, CultureInfo.InvariantCulture);
CultureInfo hindi = new CultureInfo("hi-IN");
string text = string.Format(hindi, "{0:c}", parsed);
Modifica re commenti; per ottenere solo il valore formattato senza il simbolo di valuta o parte decimale:
string text = string.Format(hindi, "{0:#,#}", value);
fonte
2012-09-19 10:11:15
Ottengo l'output '$ 12,34,567.00', che sembra corretto; quale tipo di dati è 'fare'? –
Vedere http://stackoverflow.com/questions/10416553/string-format-currency per un esempio di formattazione dei numeri –