Javascript Web Firestore-将双倍值保存到Firebase
我目前正在尝试在Firebase(云Firestore)上保存值 我的问题很简单:我想保存两个值,但当一个数字像113而不是145.3时,该值会自动保存为Long 这是一个问题,因为我的Android应用程序因此崩溃,同时处理双倍和长的值是一团乱 我试过:Javascript Web Firestore-将双倍值保存到Firebase,javascript,firebase,google-cloud-firestore,double,Javascript,Firebase,Google Cloud Firestore,Double,我目前正在尝试在Firebase(云Firestore)上保存值 我的问题很简单:我想保存两个值,但当一个数字像113而不是145.3时,该值会自动保存为Long 这是一个问题,因为我的Android应用程序因此崩溃,同时处理双倍和长的值是一团乱 我试过: parseFloat(15) 这是不工作的,如果我做一个console.log(值),我得到了15(不是两倍) 猜) 我也试过: var number = 15; var doubleValue = number.toFixed(2);
parseFloat(15)
这是不工作的,如果我做一个console.log(值),我得到了15(不是两倍)
猜)
我也试过:
var number = 15;
var doubleValue = number.toFixed(2);
这不起作用,值保存在字符串中
在web上处理此问题似乎比在iOS或Android上要复杂得多。根据有关的官方文档,有两种数字数据类型: 浮点数:64位双精度,IEEE 754 整数:64位,带符号 以及您的问题的解决方案: 我的问题很简单:我想保存两个值,但是当一个数字像113而不是145.3时,这个值会自动保存为Long 如果要将
113
另存为double,则将其另存为113.3
而不是简单地另存为113
,因为Firestore会看到113
是一个简单的整数类型的数字,它会相应地保存它。始终根据需要的数据类型保存数据
编辑:
无论是添加113
还是113.0
,该值都会作为113
保存在数据库中。如果您想将其作为113.0
获取,则必须将其作为double
获取。在Android中,您可以使用以下代码行:
double doubleValue = document.getDouble("myDoubleProperty");
即使mydouble属性
包含113
的整数值,也可以将其保存到double中。一个double也可以保存一个整数,而一个整数如果没有特定的强制转换就永远不能保存一个double。对不起,我不清楚。如果我必须保存一个像113这样的值,我想将它保存为113.0(我不知道如何正确地执行)。哦,我现在明白了。请看我的最新答案。所以不能从网络上将113保存为双倍值?对于meNo来说,这会容易得多,113
将作为一个整数保存在数据库中,但您必须将其作为一个double来读取。