user3064724
user3064724

Reputation: 125

Why Float conversion ignore zero's after decimal point?

I don't know why float data type ignores .00.

Like

165.00 = 165 ( It displays in this format after ignoring zero's)
165.65 = 165.65

I want to display if float length is less than 5, then add zero's at the end of the digit like 165 then it'll display 165.00 ( i am using float data type)

Any idea?

Upvotes: 3

Views: 1078

Answers (4)

Avi Turner
Avi Turner

Reputation: 10456

Well, It sounds like what you want is just a way to represent your float in a specific format.

I am sure you realize that 165.00 === 1.65, so, after you do a:

float a = 165.00;
Console.WriteLine(a.ToString())

getting 165 is a valid (and expected) behaviour.

So, In order to allow you to get the format you want, You need to apply a format to your numer. In your case:

Console.WriteLine(a.ToString("N2"));

Upvotes: 0

Ehsan
Ehsan

Reputation: 32681

You can do it like this. You can read more about numeric N format specifier here.

float  someFloat= 165.00F;
Console.WriteLine(someFloat.ToString("N2"));

Upvotes: 0

Adil
Adil

Reputation: 148130

You can give format in ToString() by specifing two zeros after the decimal point. You can read more about numeric formats here.

num.ToString(".00");

Upvotes: 3

saeed
saeed

Reputation: 2497

You can format numeric values via ToString() Here is some example MSDN provided.

   double value;

 value = 123;
 Console.WriteLine(value.ToString("00000"));
 Console.WriteLine(String.Format("{0:00000}", value));
 // Displays 00123 

 value = 1.2;
 Console.WriteLine(value.ToString("0.00", CultureInfo.InvariantCulture));
 Console.WriteLine(String.Format(CultureInfo.InvariantCulture, 
                   "{0:0.00}", value));
 // Displays 1.20

 Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture));
 Console.WriteLine(String.Format(CultureInfo.InvariantCulture, 
                                 "{0:00.00}", value));
 // Displays 01.20

 CultureInfo daDK = CultureInfo.CreateSpecificCulture("da-DK");
 Console.WriteLine(value.ToString("00.00", daDK)); 
 Console.WriteLine(String.Format(daDK, "{0:00.00}", value));
 // Displays 01,20 

 value = .56;
 Console.WriteLine(value.ToString("0.0", CultureInfo.InvariantCulture));
 Console.WriteLine(String.Format(CultureInfo.InvariantCulture, 
                                 "{0:0.0}", value));
 // Displays 0.6 

 value = 1234567890;
 Console.WriteLine(value.ToString("0,0", CultureInfo.InvariantCulture));    
 Console.WriteLine(String.Format(CultureInfo.InvariantCulture, 
                                 "{0:0,0}", value));    
 // Displays 1,234,567,890      

 CultureInfo elGR = CultureInfo.CreateSpecificCulture("el-GR");
 Console.WriteLine(value.ToString("0,0", elGR));    
Console.WriteLine(String.Format(elGR, "{0:0,0}", value));   
 // Displays 1.234.567.890 

 value = 1234567890.123456;
 Console.WriteLine(value.ToString("0,0.0", CultureInfo.InvariantCulture));  
 Console.WriteLine(String.Format(CultureInfo.InvariantCulture, 
                                 "{0:0,0.0}", value));  
 // Displays 1,234,567,890.1   

 value = 1234.567890;
 Console.WriteLine(value.ToString("0,0.00", CultureInfo.InvariantCulture)); 
 Console.WriteLine(String.Format(CultureInfo.InvariantCulture, 
                                 "{0:0,0.00}", value)); 
 // Displays 1,234.57 

Upvotes: 1

Related Questions