Csharp/C#教程:将字符串转换为十进制分享


将字符串转换为十进制

在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

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐