Right now I have
double numba = 5212.6312
String.Format("{0:C}", Convert.ToInt32(numba) )
This will give me
$5,213.00
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.
Console.WriteLine(numba.ToString("C0"));
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