我在使用 .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/