這是功能格式化包含數字只到$貨幣C# - 我可以解析已經格式化爲貨幣的文本嗎?
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")
轉換。 或者也許那個解析的字符串也可以直接轉換爲字符串?
請讓我知道您的意見。
而不是圍繞Parse包裝一個異常處理程序,您可能會發現它更容易使用TryParse:Decimal.TryParse(「$ 1.00」,Globalization.NumberStyles.Currency, –
'MessageBox.Show(int.Parse(「$ 3,821.00」,NumberStyles .Currency).ToString());' – spajce
@spajce你的代碼只有在我的CultureInfo是「en-US」這個$時才起作用,但是如果我把其他的「id-ID」這個是印度尼西亞的Rp,它不會回到 –