这是功能格式化包含数字只到$货币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,它不会回到 –