つまり、0.123 を「.123」と表示したいのですが、0 は「0」と表示する必要があります。現在、私が持っている最高のものは
String.Format("{0:.###}", n)
0.123 の場合は ".123" になりますが、0 の場合は "" (空の文字列) になります。
つまり、0.123 を「.123」と表示したいのですが、0 は「0」と表示する必要があります。現在、私が持っている最高のものは
String.Format("{0:.###}", n)
0.123 の場合は ".123" になりますが、0 の場合は "" (空の文字列) になります。
セパレータとして使用する場合は;
、正、負、およびゼロの値の形式を指定できます。 は、正と負の値の先頭のゼロを省略してstring.Format("{0:.###;-.###;0}", n)
「0」を表示します。こちらn==0
の MSDN リファレンスを確認してください。
他のすべてが失敗した場合は、次のようなことができます。
string s = n == 0 ? "0" : String.Format("{0:.###}", n);
華麗ではありませんが、仕事を成し遂げるでしょう:-)
0
ここで試すことができますコードをテストし、変数をからに変更して.1234
テストできる場所を追加しました
var decNum =.1234;//change to 0 will return 0 change to .1234 will return the correct formatted value
var formatDecil = String.Format("{0:.###}", decNum);
formatDecil = string.IsNullOrEmpty(formatDecil) ? 0.ToString():formatDecil;