.Net Core Regex Replace 返回不同于 localhost

.Net Core Regex Replace returning different from localhost

发生了一些奇怪的事情,我有一个来自 Excel 文件的值,我使用 Regex.Replace() 将该值转换为我需要的值,在本地一切正常但是当我发布return 不同于 Regex.Replace():

鉴于此价值:376900€

我使用这个代码:

x = Regex.Replace(sheet.Cells['D' + row].Text.Replace("€", ""), @"\s+", "");
                        
var Amount = int.Parse(x); 

本地x是:376900

但在应用服务中发布时 x 是:376,900,在解析为 int 时抛出异常。

我在没有使用 Regex.Replace() 的情况下解决了它,但想知道为什么会这样?是因为服务器位于北欧并且 Regex.Replace() 使用了一些英国转换或其他东西吗?

谢谢

我的测试结果。 Azure 应用服务返回值与本地相同。

所以MacroMarc 的评论是非常正确的。应该是Excel文件中该字段的数据格式。在本地调试时,得到376900€(根据本地culture/format)。

建议

您可以使用调试模型部署您的 Azure Web 应用程序。并使用远程调试,检查 sheet.Cells['D' + row].Text 的值。相信经过调试,你会找到自己想要的答案。