将字符串转换为十进制
在C#中,我正在尝试将字符串转换为十进制。
例如,字符串是“(USD 92.90)”
你会如何用Decimal.Parse fcn将其解析为小数。
我在这里假设您尝试解析的字符串是实际货币值。
CultureInfo c = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name); c.NumberFormat.CurrencyNegativePattern = 14; // From MSDN -- no enum values for this c.NumberFormat.CurrencySymbol = "USD"; decimal d = Decimal.Parse("(USD 92.90)", NumberStyles.Currency, c);
您可以从reg-exp开始提取数字部分,然后使用Decimal.TryParse来解析子字符串。
首先,从字符串中获取数字。 正则表达式d+(.d+)?
可能有帮助。 虽然您可以使用子字符串,但该数字周围的字符始终相同。
然后在该字符串上使用Decimal.Parse(或Double.Parse)。
在解析字符串时,我总是喜欢使用TryParse来避免为无效字符串抛出exception:
string str = "(USD 92.90)"; decimal result; if (Decimal.TryParse(str, out result)) { // the parse worked } else { // Invalid string }
正如其他人所说,首先使用正则表达式来提取数字部分。
上述就是C#学习教程:将字符串转换为十进制分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1005738.html