Tutorial :How do I format a double to currency rounded to the nearst dollar?


Right now I have

double numba = 5212.6312  String.Format("{0:C}", Convert.ToInt32(numba) )  

This will give me


but I don't want the ".00".

I know I can just drop the last three characters of the string every time to achieve the effect, but seems like there should be an easier way.


First - don't keep currency in a double - use a decimal instead. Every time. Then use "C0" as the format specifier:

decimal numba = 5212.6312M;  string s = numba.ToString("C0");  


This should do the job:

String.Format("{0:C0}", Convert.ToInt32(numba))  

The number after the C specifies the number of decimal places to include.

I suspect you really want to be using the decimal type for storing such numbers however.




I think the right way to achieve your goal is with this:

Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalDigits = 0;  

and only then you should do the Format call:

String.Format("{0:C0}", numba)   


 decimal value = 0.00M;          value = Convert.ToDecimal(12345.12345);          Console.WriteLine(".ToString(\"C\") Formates With Currency $ Sign");          Console.WriteLine(value.ToString("C"));          //OutPut : $12345.12          Console.WriteLine(value.ToString("C1"));          //OutPut : $12345.1          Console.WriteLine(value.ToString("C2"));          //OutPut : $12345.12          Console.WriteLine(value.ToString("C3"));          //OutPut : $12345.123          Console.WriteLine(value.ToString("C4"));          //OutPut : $12345.1235          Console.WriteLine(value.ToString("C5"));          //OutPut : $12345.12345          Console.WriteLine(value.ToString("C6"));          //OutPut : $12345.123450  

click to see Console Out Put screen

Hope this may Help you...

Thanks. :)


simple: numba.ToString("C2")

more @ http://msdn.microsoft.com/pt-br/library/dwhawy9k(v=vs.110).aspx#CFormatString

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »