java - Android 无法正确获取值中带有“.”的字符串
问题描述
我试图检索包含十进制数字的字符串值,例如“3.5”。当试图将它们检索到 android 时,它们会用引号移动,但是当传递一个包含不带小数的数字或没有不会发生的点的字符串时,一些想法无需将 int 传递给数据库或无需转换“rates” " int 的值?
通过这种方式,我尝试从数据库中获取字符串“rates”值
String rating = (String) dataSnapshot.child("rates").getValue();
int ratingint = Integer.valueOf(rating);
错误:
java.lang.NumberFormatException: Invalid int: "3.5"
这是在数据库中定义的
解决方案
改变这个:
int ratingint = Integer.valueOf(rating);
进入这个:
double ratingint = Double.valueOf(rating);
查看文档以获取更多信息:
https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String-
推荐阅读
- logstash - Logstash 无法写入输出文件
- javascript - 使用 Angular 6 获取应用程序 url
- mongodb - 在 Ubuntu 上启动 mongod.service 失败
- discord.py - 禁止和取消禁止命令在所有服务器中工作
- java - 通过 API 调用获取图像,然后保存并从本地提供以供重复查看
- php - 手机和平板电脑检测
- python - 如何在 sklearn 中使用 SVC 运行 RFECV
- mongodb - 调用 createUser() 时,Prisma 模式中的 fliend createdAt 返回空值
- php - 使用 xml 模式解析 XML 响应
- python - 如何检测时间序列中趋势是增加还是减少?