2

Format関数(http://msdn.microsoft.com/en-us/library/59bz1f0h%28v=vs.90%29.aspx)を使用して出力をフォーマットしています。現在、私はこのフォーマット文字列を使用しています。

 TestStr1 = Format(5459.4, "##,##0.00")
 TestStr2 = Format(0.4, "##,##0.00")
 TestStr3 = Format(0.0, "##,##0.00")

上記のコードは、それぞれ「5,459.40」、「0.4」、「0.00」を返します。ここで、値がゼロに等しい場合は、代わりに「-」を表示します。if-elseステートメントを使用せずに、Format関数だけを使用してその出力を実現するにはどうすればよいですか?

編集:

ここにあるPranayの記事とは別に、Microsoftの記事を見つけました。それは下部にあります。http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

4

1 に答える 1

7

記事全文:表示するフォーマット番号

使用する

";" セクションセパレータ

これにより、番号記号に従って番号を表示できます。以下のコードでわかるように、フォーマットであるfmt変数は、ここで最初のフォーマットの前に私の番号に適用します。は正の数、2番目の形式は負の数、最後の形式はゼロ値です。基本的に、その「正;負;ゼロ」形式。このコードの出力でそれが何をするかを見ることができます。

例 :

double posValue = 1234;
double negValue = -1234; 
double zeroValue = 0;

string fmt = "+##;-##;**Zero**";

Console.WriteLine("value is positive : " + posValue.ToString(fmt));    
Console.WriteLine();

Console.WriteLine("value is negative : " +negValue.ToString(fmt));    
Console.WriteLine();

Console.WriteLine("value is Zero : " + zeroValue.ToString(fmt));
Console.WriteLine();

ノート:

上記の例では、ゼロを「-」または必要な文字で置き換えるだけです。

コードはc#.netにありますが、同じですが、すべてのToString関数の形式を変更した後、vb.netでコードを実現できます。

于 2012-07-03T06:22:59.607 に答える