1

C#で変換43961529(10%)するにはどうすればよいですか?43,961,529.00

43961529(10%)私は1DataTableの値を持っており、DataColumnこれをに変換したいと思い43,961,529.00 (10%)ます。

括弧((10%))の間は市場シェアです。

Visual Studio 2008、C#を使用しています。

4

2 に答える 2

2

正規表現を使用すると、文字列から数値部分を取得できます。次に、それを整数として解析し、好きなようにフォーマットして、文字列を元に戻すことができます。

public static string Format(string input)
{
    Regex regex = new Regex(@"^(\d+)(.*)$");
    var match = regex.Match(input);
    if (match.Success)
    {
        input = Int32.Parse(match.Groups[1].Value).ToString("N2");
        input += " " + match.Groups[2].Value;
    }
    return input;
}

次のように使用します。

string input = "43961529(10%)";
string result = Format(input);      // "43,961,529.00 (10%)"
于 2013-03-15T13:32:06.393 に答える
0

ToString()オーバーライドを確認する必要があります

decimal num = 43961529;
string val = num.ToSTring("N2");

また

string val = num.ToSTring("0.00");

文字列の出力を並べ替える方法はたくさんあります

于 2013-03-15T13:24:39.700 に答える