将 0.0 保存到 cosmosdb double 到 int 时出现问题

问题描述 投票:0回答:2

使用 cosmosdb 作为存储我遇到了一个问题。我保存了一个对象,其中一个属性设置为 0.0(尝试使用双精度、十进制和浮点)。当稍后检索该值时,它是 0,并且精度不是 0.0。如果我将其设置为 0.1 或 2.1 之类的值,一切都会像我期望的那样工作。

有人可以解释为什么会发生这种情况吗?为了使用我的数据,我需要它是 0.0。

致以诚挚的问候

azure-cosmosdb azure-cosmosdb-sqlapi
2个回答
0
投票

我可以想象这是 CosmosDB 的优化,因为

0 == 0.0
value 而言。

感觉就像您正在尝试强制格式化(可能是出于显示目的)到数据存储中。如果您始终按照想要的显示方式设置数据格式,则值是

0
0.0
0.316692
都没有关系。


0
投票

有没有提出解决方案?我正在尝试将 json 对象与本地 obj 和从 cosmos 中提取的 obj 进行比较,但由于字符串存在差异,它们不是 == 。我尝试了一些自定义序列化和转换器来强制 0.0000 在本地显示为“0”,但运气不佳。

© www.soinside.com 2019 - 2024. All rights reserved.