.Net Core Regex Replace 返回与本地主机不同的返回值

发生了一些奇怪的事情,我有一个来自 Excel 文件的值,我使用 Regex.Replace() 将值转换为我需要的值,在本地一切正常,但是当我发布返回值时与 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() 使用了一些英国转换之类的?

谢谢

iCMS 回答:.Net Core Regex Replace 返回与本地主机不同的返回值

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

enter image description here

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

建议

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

本文链接:https://www.f2er.com/427871.html

大家都在问