.net - 在 .NET 中使用十进制类型的问题

标签 .net globalization

我在使用 .NET 和使用十进制类型时遇到了一些奇怪的问题。我的 Web 应用程序使用以下全局化设置:

<globalization culture="auto" enableClientBasedCulture="true"/>

考虑到这一点,请考虑以下情况:十进制值 123.00 变为英镑 123.00 英镑和 123,00 欧元(注意逗号)。当我想从 123,00 (EUR) 的十进制值再次回到 GBP 时,我遇到的问题出现了,因为它变成了 123,000 - 这是一个大问题。

在这种情况下,我的应用程序根据检测到的文化查询查找表并显示该货币的价格。只有当用户做出选择并且数据准备发送到我们的支付网关时才会出现问题,支付网关将 123,00 欧元转换为 123,000 欧元。

我有什么想法可以克服这个问题吗?

最佳答案

十进制数据类型基本上只保存一个数字——没有隐式应用于它的格式。数字的值不会因为它以不同的格式显示而改变。

您可能遇到的问题是,当您从网页中接收字符串形式的输入时,您的解析不正确。

关于.net - 在 .NET 中使用十进制类型的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/897301/

相关文章:

ruby-on-rails - Rails Globalize3 gem : How do I add an additional field to the translation table using a migration?

c# - 两个列表按升序排序另一个按降序但受约束

c# - CreditCardAttribute 使用哪种算法进行信用卡号格式验证

c# - 外部化 WinForms 应用程序的翻译?

objective-c - 如何更改 UIPageViewController 分页 curl 动画的方向

asp.net - 从 <html lang ="fr"> 标记设置 ASP.NET 页面文化?

.net - CultureAndRegionInfoBuilder 不存在

c# - .NET Framework 低级 API 如何工作?

c# - 找不到路径的一部分 'C :\\Windows\\System32\\oobe\\info\\Backgrounds

c# - 如何将页面指向不同的 web.config?