简体   繁体   中英

c#: how to force trailing zero in numeric format string?

I need to display float as

1.00
1.50
1.55
1.60

The following is what I see using f2 format.

1.
1.5
1.55
1.6

Is there a way to force the trailing 0 to appear?

(I'm using a DevExpress SpinEdit control and trying to set the display and edit format.)

yourNumber.ToString("N2");

您可以使用这样的语法:

String.Format("{0:0.00}", n)

On those rare occasions I need to formatting, I go here:

http://blog.stevex.net/index.php/string-formatting-in-csharp/

spinEdit.Properties.DisplayFormat.FormatType = FormatType.Numeric;
spinEdit.Properties.DisplayFormat.FormatString = "C2";

In the future, though, I would recommended searching Dev Express' knowledge base or emailing support (support@devexpress.com). They'll be able to answer your question in about a day.

You can also do this with string interpolation (note that this is C# 6 and above):

double num = 98765.4;
Console.WriteLine($"{num:0.00}"); //Replace "0.00" with "N2" if you want thousands separators

Let's say you had a variable called "myNumber" of type double:

double myNumber = 1520;

Instead of:

myNumber.ToString("N2"); // returns "1,520.00"

I would opt for:

myNumber.ToString("0.00"); // returns "1520.00"

since N2 will add "," thousands separators, which can often cause problems downstream.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM