将前导零添加到小于1的值

Ala*_*mas 1 .net c# string-formatting

给定一个十进制值,我怎么能在一个字符串添加一个前导零只有当值小于1?

例如.

.20  ->  "0.20"   - Add a leading 0

1.20 ->  "1.20"   - Value remains the same
Run Code Online (Sandbox Code Playgroud)

小数位前的值可以是任意长度,小数位后的值只能是2位数.货币.这是用String.Format()实现的吗?或者我应该依赖基本的if语句?

String.Format()文档对我来说相当混乱.

我已经检查了其他几个问题/答案,似乎无法找到我正在寻找的东西.

编辑:正如几个答案所提到的,这种前导零加法应该是在值上调用的ToString()方法的默认行为.无论出于何种原因,在我的情况下都没有发生,所以String.Format()在我的情况下是必要的.

Sli*_*ete 6

可以使用string.format():

string.Format("{0:0.00}", 0.2)  // 0.20
string.Format("{0:0.00}", 1.20) // 1.20
Run Code Online (Sandbox Code Playgroud)

您还可以对变量本身使用ToString():

var d1 = 0.2;
var d2 = 1.20;
Console.WriteLine(d1.ToString("0.00"));  // 0.20
Console.WriteLine(d2.ToString("0.00"));  // 1.20
Run Code Online (Sandbox Code Playgroud)