0

次のC++CStringコードを同等のC#.NETに変換するにはどうすればよいですか?

CString str;
int leading_width  = 5;
int decimal_places = 2;
int val            = 53.4789;

str.Format("%*.*d", leading_width, decimal_places, val);
4

2 に答える 2

0

小数点以下の桁数を可変にするvalには、を使用して文字列に変換してから、を使用しval.ToStringて値を埋め込みますString.PadLeft

int leading_width  = 5;
int decimal_places = 2;
int val            = 53.4789;

string str = val.ToString("N" + decimal_places);
str = str.PadLeft(leading_width);
于 2013-03-25T20:06:42.657 に答える
0

コードの目的が整数またはその他の数値を文字列に変換することである場合...

string NumString = val.ToString();

マネージコード(c#)には、コード内のすべてのオブジェクトがobjectクラスから継承したこの気の利いたToStringメソッドがあります。

ルールとパディングに関する最終結果に適用できるさまざまなさまざまなフォーマットルールがあります。

詳細については、次のページを参照してください:http: //msdn.microsoft.com/en-us/library/dwhawy9k.aspx

編集

このコードはどうですか

String.Format("%{0," + String.Format("{0}:D{1}", leading_width, decimal_places) + "}", val); 

または、「%」を省略して、「D」の代わりに「P」を使用することもできます

于 2013-03-25T20:15:36.043 に答える