加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Azure DocumentDB Decimal Truncation

发布时间:2020-12-15 08:46:34 所属栏目:百科 来源:网络整理
导读:我目前正在使用Azure DocumentDB来存储价格的产品数据.几乎所有东西都工作得很好,但现在我有一个问题,我的小数(System.Decimal)在从DocumentDB读取时被截断. 比如这个价格: Input Price: 25.1132356547854257645454 将被截断为 DocumentDB Price: 25.113235
我目前正在使用Azure DocumentDB来存储价格的产品数据.几乎所有东西都工作得很好,但现在我有一个问题,我的小数(System.Decimal)在从DocumentDB读取时被截断.
比如这个价格:
Input Price: 25.1132356547854257645454

将被截断为

DocumentDB Price: 25.113235654785

由于我们使用同步机制来查找价格变化,这将导致价格变化,因为它不再是相同的价格.
我不知道如何改变DocumentDB的行为.在最坏的情况下,我将不得不截断我的输入价格以防止这个问题,但我宁愿不这样做.

感谢帮助.

解决方法

Azure DocumentDB根据JSON标准使用 IEEE floating point numbers.这是必需的,以便数据可以跨不同的编程平台和应用程序移植.不幸的是,这可能导致截断大整数或更高精度的十进制数,就像你所看到的那样.

要解决此问题,请考虑将数字拆分为两部分编号,如果您仅用于相等或存储截断的表示,则表示为字符串.

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读