如何解决.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() 使用了一些英国转换之类的?
谢谢
解决方法
我的测试结果。 Azure 应用服务返回值与本地相同。
所以MacroMarc 的评论是非常正确的。应该是Excel文件中该字段的数据格式。在本地调试时,我得到 376900€
(根据当地文化/格式)。
建议
您可以使用调试模型部署您的 azure Web 应用程序。并使用远程调试,检查sheet.Cells['D' + row].Text
的值。相信经过调试,你会找到你想要的答案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。