How do I format a double to a string and only show decimal digits when necessary?
You can just do:
string.Format("{0}", yourDouble);
It will include only digits when necessary.
If you want other examples of formatting doubles to string check out this link.
EDIT: Based on your comment you want the ,
seperator so you could do:
string.Format("{0:0,0.########}", yourDouble);
Just put as many #
for the max number of decimal places you want to show. It will only show the digits when necessary but up to the maximum digits based on how many #
you include in the format. The #
means only show a digit if necessary so if you give a number like 123
with no decimal, it will display as 1,234
but if you give it 1234.456
, it will display as 1,234.456
. If you go beyond the max digits you specified they will be rounded.
EDIT: To fix your double zero scenario just change it to:
string.Format("{0:#,0.########}", yourDouble);
That should work perfectly now :)
SilverLight
WEB DEVELOPER & C# PROGRAMMER ASP.NET C# JQUERY JAVASCRIPT MICROSOFT AJAX MICROSOFT SQL SERVER VISUAL STUDIO
Updated on June 27, 2022Comments
-
SilverLight almost 2 years
I have code like:
lblFranshizShowInvwNoskhehEdit.Text = string.Format("{0:n}", (double)(int.Parse(drDarman["FranshizDarsad"].ToString()) * Convert.ToInt64(RadNumerictxtPayInvwNoskhehEdit.Text)) / 100);
But
{0:n0}
string format forces the label's text to not have decimal digits and{0:n}
string format forces the label's text to have 2 decimal digits (default).In my scenario I just want decimal digits when necessary / without rounding them / how can I do that?
-
SilverLight almost 14 yearsbut in this case i will lose thousand separator ! how can i solve this?
-
SilverLight almost 14 yearsreally really appreciate for your edit// i really apologize / but in this new code 0.4 is like 00.4... how fix this ?
-
Rohit Sharma almost 14 years@LostLord updated my answer to address that issue. Hope that helps.