Display Float as String with at Least 1 Decimal Place

前端 未结 4 1669
野的像风
野的像风 2020-11-30 12:30

I want to display a float as a string while making sure to display at least one decimal place. If there are more decimals I would like those displayed.

For example:

相关标签:
4条回答
  • 2020-11-30 12:42
    float fNumber = 1.2345; // Your number
    string sNumber = fNumber.ToString(); // Convert it to a string
    If ((sNumber.Contains(".") == false) && (sNumber.Contains(",") == false)) // Check if it's got a point or a comma in it...
    {
        sNumber += ".0"; // ... and if not, it's an integer, so we'll add it ourselves.
    }
    
    0 讨论(0)
  • 2020-11-30 12:54

    Try this:

    doubleNumber.ToString("0.0###");

    And, for your reference (double ToString method): http://msdn.microsoft.com/en-us/library/kfsatb94.aspx

    0 讨论(0)
  • 2020-11-30 12:55

    This solution is similar to what other are saying, but I prefer to use string.Format. For example:

    float myFloat1 = 1.4646573654;
    float myFloat2 = 5;
    Console.WriteLine(string.Format("Number 1 : {0:0.00##}", myFloat1));
    Console.WriteLine(string.Format("Number 2 : {0:0.00##}", myFloat2));
    
    // Newer Syntax
    Console.WriteLine($"{myFloat1:0.00##}";
    Console.WriteLine($"{myFloat2:0.00##}";
    

    This would produce :

    Number 1 : 1.4646
    Number 2 : 5.00
    Number 1 : 1.4646
    Number 2 : 5.00
    
    0 讨论(0)
  • 2020-11-30 13:03

    Use ToString(".0###########") with as much # as decimals you want.

    0 讨论(0)
提交回复
热议问题