c != "." && c.Trim() != "-6ren">
gpt4 book ai didi

c# - 为什么我的 100,000 英镑被转换为 100 而不是 100000,这可能是正则表达式的问题?

转载 作者:太空宇宙 更新时间:2023-11-03 23:00:44 25 4
gpt4 key购买 nike

我有以下代码:

var totalDecimalList = Regex.Split(total, @"[^0-9\.]+").Where(c => c != "." && c.Trim() != "");
decimal totalDecimal = decimal.Parse(totalDecimalList.First());

通过我的调试 session

totalDecimal = 100 and not 100000

所以“,”显然是问题的原因,第一行中的正则表达式不正确,即

@"[^0-9\.]+")

请问我如何更正此正则表达式以解决逗号问题?

谢谢。

最佳答案

更好的是,让内置的解析函数为您完成工作:

using System;
using System.Globalization;

namespace StackOverflow_CurrencyParsing
{
class Program
{
static void Main(string[] args)
{
string total = "£100,000.00";

decimal totalDecimal = decimal.Parse(total, NumberStyles.Currency, CultureInfo.GetCultureInfo("en-gb"));

Console.WriteLine($"Total: {totalDecimal}");
Console.ReadKey();
}
}
}

关于c# - 为什么我的 100,000 英镑被转换为 100 而不是 100000,这可能是正则表达式的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43196797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com