为什么Unity3d的所有翻倍都存储在;Firebase数据库“;四舍五入到小数点后4位?

为什么Unity3d的所有翻倍都存储在;Firebase数据库“;四舍五入到小数点后4位?,firebase,unity3d,double,Firebase,Unity3d,Double,当我在“Firebase数据库”中尝试从Unity3d编辑器保存double时,它总是四舍五入到小数点后4位。我需要至少保留8位小数。当我从JS或GO将Double保存到firebase时,我对Double没有任何问题,但当我从Unity保存Double时,它总是在DB中四舍五入 我尝试使用SetRawJsonValueAsync将double保存为对象的一部分,作为实验的一部分,我尝试使用SetValueAsync保存单独的double。它不见了 公共类结构绑定 { 公共字符串Id; //..

当我在“Firebase数据库”中尝试从Unity3d编辑器保存double时,它总是四舍五入到小数点后4位。我需要至少保留8位小数。当我从JS或GO将Double保存到firebase时,我对Double没有任何问题,但当我从Unity保存Double时,它总是在DB中四舍五入

我尝试使用SetRawJsonValueAsync将double保存为对象的一部分,作为实验的一部分,我尝试使用SetValueAsync保存单独的double。它不见了

公共类结构绑定
{
公共字符串Id;
//...
双X;
双Y;
}
公共作废保存()
{
var sb=新结构绑定
{
Id=Guid.NewGuid().ToString(),
X=55.738922983519,
Y=37.633679
}
//另存为对象
FirebaseDatabase.DefaultInstance
.GetReference(某人Id)
.SetRawJsonValueAsync(sb);
//另存为双倍
双重测试双重=55.738922983519;
FirebaseDatabase.DefaultInstance
.GetReference(“testDouble”)
.SetValueAsync(testDouble);
}
我希望在从DB中读取该值之后,我将得到X=55.738922983519,但它总是X=55.7389。 此外,我希望在firebase控制台中看到正确的值,但在控制台中看到的值是4位小数。另一方面,从JS创建的值以所需的位数显示

更新:
问题只存在于编辑器中。在设备(iOs)上,问题不会重复。

很可能存储正确,但ToString最多只能打印4位数字。尝试使用ToString(“N8”)@尽管如此,我认为这只是一个显示价值的特性。但我查看了调试器中的值,发现它们是从已经舍入的数据库中读取的。同时,正确读取从JS保存到Unity的值(无舍入)。基于此,我得出结论,问题出在Firebase数据库库中,我在Unity中使用它来保存值。我发现问题只存在于编辑器中。在设备(iOs)上,无需舍入即可进行双重保存。