gpt4 book ai didi

Azure 存储 - 保存时忽略双位小数点

转载 作者:行者123 更新时间:2023-12-03 00:39:47 24 4
gpt4 key购买 nike

我有一个值正确存储在对象的属性中,但是当我将更改保存到 Azure 存储数据库时, double 值会存储到数据库中而忽略该点(7.11000000003 保存为 711)。另外,该属性也更改为 711.0。

如何解决这个问题?

该字段已在类和数据库表中设置为 double。

最佳答案

您的 double 值是在其自己的字段中,还是在分区键或行键字段中? PartitionKey 和 RowKey 始终是字符串。

我刚刚创建了一个简单的测试,它写入和读取具有双字段的行,并且值保存得很好。我通过 msdev.com 训练修改了 Bill Lodin 的 SMS 代码中的示例 SmsMessage 类(我将 int Delay 字段更改为 float,并将其重命名为 MyDouble 以进行澄清):

public class SmsMessage: TableServiceEntity
{
public double MyDouble { get; set; }
public SmsMessage(string destination, string message, double myDouble)
{
PartitionKey = destination;
RowKey = message;
MyDouble = myDouble;
}
public SmsMessage()
: base("", string.Format("{0:d10}", DateTime.Now.Ticks))
{
}
}

然后我写入 SmsMessageTable:

smsTable.AddObject("SmsMessages", new SmsMessage(destination, message, myDouble));
smsTable.SaveChanges();

我在表存储资源管理器中查看此内容,我的 double 是我输入它们的方式(例如 1.2345)。

然后,我使用简单的 linq 查询来检索分区键中给定的用户名:

var results = from m in smsTable.SmsMessages
where m.PartitionKey.Equals(txtDestination.Text.Trim())
select m;

我的 double 值都被保留并强类型为 double 。

关于Azure 存储 - 保存时忽略双位小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3037028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com