【问题标题】:Conversion of a currency string in the format "0.0 GBP 0"转换格式为“0.0 GBP 0”的货币字符串
【发布时间】:2014-05-06 13:04:23
【问题描述】:

我正在从 API 中提取数据,并且正在尝试查看是否有合适的方法来拆分返回的字符串。

理想情况下,我想将其作为十进制值放入数据库中。

更新:

我对 0.0 感兴趣,我想知道是否有一个 decimal.parse 可以像我对日期/时间所做的那样将其剥离,如下所述:

DateTime updated;
if (DateTime.TryParseExact("Wed Jun 05 08:06:17 UTC 2013",Config.dateTimeFormat,CultureInfo.InvariantCulture,DateTimeStyles.None,out updated))
{
// Yeah!!
}

然而,下面提到的是修剪和条带可以完成这项工作。我真正追求的是针对该问题的高性能解决方案,因为它是增量同步例程的一部分。

【问题讨论】:

  • 使用正则表达式?举一些例子,说明你有什么输入以及你希望从中提取什么。后面的 0 是为了什么?
  • 为什么人们觉得有必要否决一个问题?
  • 因为这不是一个好问题,也不是很好的框架。阅读有关如何提出好问题的常见问题解答。您的问题应该包括对您要达到的目标的清晰解释以及您尝试过的一些演示。您的问题含糊不清(我们假设您想要0.0,但您没有明确表示)并且没有说明您尝试过什么。见:stackoverflow.com/help/how-to-ask
  • 提供了更多关于我想要实现的目标的信息。

标签: c#


【解决方案1】:

所以你只想解析字符串中表示数值的第一部分?然后你可以使用String.Split 并采取第一个:

string text = "0.0 GBP 0";
string value = text.Trim().Split()[0]; // 0.0
decimal pounds = decimal.Parse(value, CultureInfo.InvariantCulture);

【讨论】:

    猜你喜欢
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    相关资源
    最近更新 更多