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# 是)具有这个漂亮的 ToString 方法,代码中的每个对象都从object该类继承。

有各种各样的格式规则可以应用于关于规则和填充的最终结果。

有关详细信息,请参阅此页面:http: //msdn.microsoft.com/en-us/library/dwhawy9k.aspx

编辑

这段代码怎么样

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

或者您可以省略“%”并使用“P”而不是“D”

于 2013-03-25T20:15:36.043 回答