我目前正在使用Azure DocumentDB来存储价格的产品数据.几乎所有东西都工作得很好,但现在我有一个问题,我的小数(System.Decimal)在从DocumentDB读取时被截断.
比如这个价格:
比如这个价格:
Input Price: 25.1132356547854257645454
将被截断为
DocumentDB Price: 25.113235654785
由于我们使用同步机制来查找价格变化,这将导致价格变化,因为它不再是相同的价格.
我不知道如何改变DocumentDB的行为.在最坏的情况下,我将不得不截断我的输入价格以防止这个问题,但我宁愿不这样做.
感谢帮助.
解决方法
Azure DocumentDB根据JSON标准使用
IEEE floating point numbers.这是必需的,以便数据可以跨不同的编程平台和应用程序移植.不幸的是,这可能导致截断大整数或更高精度的十进制数,就像你所看到的那样.
要解决此问题,请考虑将数字拆分为两部分编号,如果您仅用于相等或存储截断的表示,则表示为字符串.
希望这可以帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。