3

これは、数値のみを含むテキストを$通貨にフォーマットする関数です。

private String GLOBALIZE_TEXT(String originalText)
{
    decimal parsed;
    CultureInfo myCultureInfo;
    string formattedText = "";

    //use try catch to prevent larger inputs
    try
    {
        parsed = decimal.Parse(originalText, CultureInfo.InvariantCulture);
        myCultureInfo = new CultureInfo("$");
        formattedText = string.Format(myCultureInfo, "{0:c}", parsed);
    }
    catch (Exception ignorethis)
    {
    }
    return formattedText;
}

現在使用中:

String myString = "3821";
myString = GLOBALIZE_TEXT(myString);
//now my String becomes "$3,821.00"

問題は、その「$3,821.00」を「3821」に再度解析できますか?「3821」を。で変換できる整数として使用できるように、解析して戻す必要がありますConvert.ToInt32("3821")。または、解析された文字列を直接文字列に変換することもできますか?

ご意見をお聞かせください。

4

2 に答える 2

3

あなたが試すことができます:

double.Parse(myString, NumberStyles.Currency);

NumberStyles列挙型の詳細については、MSDNのこちらをご覧ください。この特定のdouble.Parseメソッドの詳細については、 MSDNのこちらをご覧ください。

于 2012-12-15T22:34:14.783 に答える
0

なぜこれを行う必要があるのか​​を尋ねるのが最善かもしれませんか?常にネイティブ形式で値を保存するようにしてください。キャプチャまたはインポートされた文字列から実行する必要がある場合は、正規表現を使用して削除する方法を使用します。

文字列から通貨記号を削除する正規表現?

于 2012-12-15T22:26:17.963 に答える