1

私はいくつかのコードをVBからC#に翻訳していて、これに出くわしました:

Format(seg.R, " 00.00000;-00.00000") // <-- There is a leading space in the first format string

...印刷...

 00.00000 //or...
-00.00000

...小数が正か負かによって異なります。string.FormatC#またはmyObj.ToString("[format here]")関数 でこれを行う簡単な方法はありますか?


編集:フォーマット文字列に余分なスペースがあることに注意してください。これにより、負の符号がない場合に先頭にスペースを追加して、文字列を同じ長さにします。

4

2 に答える 2

2

はい:

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

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

上記の投稿に対する簡単な回答は次のとおりです。

whateverstring.ToString(" 00.00000;-00.00000");
-29.69 -> "-29.69000"
48 -> " 48.00000" <-notice space padding the front.

セミコロンで区切られたフォーマット文字列: "00.00;##.##" は、00.00 パターンを正とゼロの値に適用し、##.## パターンを負の値に適用します。

言い換えれば、フォーマット文字列に対して以前に持っていたものは、微調整なしで機能します:-)

于 2010-12-21T18:19:25.000 に答える
0

はい、String.Format() は、VB クラシックの Format 関数が行うことはすべて行います。

http://blogs.msdn.com/b/kathykam/archive/2006/03/29/564426.aspx

于 2010-12-21T18:20:28.593 に答える