首页 > 解决方案 > 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"

这是在数据库中定义的

费率:

标签: javaandroidfirebasefirebase-realtime-database

解决方案


改变这个:

 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-


推荐阅读