Java 如何与Map一起使用floatgetParams()
我将数据发送到我的``.php`脚本文件,该文件将数据存储到我的数据库中 我正在使用Map和getParams来实现这一点 然而,我对Java还很陌生,不知道如何从Params返回Float 我需要在这里更改什么才能返回浮动 我不断地发现地图上的错误 我试着用不同的状态来纠正Map和getParams,但是没有成功。此外,我还尝试删除,这修复了任何错误,但应用程序只是崩溃Java 如何与Map一起使用floatgetParams(),java,hashmap,Java,Hashmap,我将数据发送到我的``.php`脚本文件,该文件将数据存储到我的数据库中 我正在使用Map和getParams来实现这一点 然而,我对Java还很陌生,不知道如何从Params返回Float 我需要在这里更改什么才能返回浮动 我不断地发现地图上的错误 我试着用不同的状态来纠正Map和getParams,但是没有成功。此外,我还尝试删除,这修复了任何错误,但应用程序只是崩溃 protected Map<String, String> getParams() throws Aut
protected Map<String, String> getParams() throws AuthFailureError {
//Here is what I think i need to change
Map <String, String>params = new HashMap();
params.put("tire", tire);
params.put("tire2", tire2);
// tire and tire 2 are floats
return params;
}
我希望返回参数以字符串形式返回第一个选项,以浮点形式返回第二个选项。映射的值类型是字符串,因此需要将值转换/格式化为字符串。您可以使用Float.toStringfloat: 或者,您可能希望在此处使用四舍五入到两点的特定小数位数来格式化您的数字:
params.put("tire", String.format("%.2f", tire));
您将需要更改方法签名以返回其他对象/类型。 所以把地图换成地图
您的问题还不清楚:如果您在方法的签名中声明它返回一个从字符串到字符串的映射,那么为什么在方法内部您要尝试返回一个从字符串到浮点的映射?第二,声明新映射的方式应该是:new HashMap iirc问题是我的.php文件和我的数据库希望该文件是Float。这些参数用于什么?如果它们是HTTP请求参数,那么它们在任何情况下都将作为字符串发送,并且需要在另一端解析为所需的类型-PHP不是静态类型应该允许您轻松地将数字字符串转换为数字。我已经厌倦了。My Map在“从com.android.volley.toolbox.StringRequest派生的匿名类”中显示“getParams”时出错,与“com.android.volley.Request”中的“getParams”冲突;试图使用不兼容的返回类型我假定您要重写。在这种情况下,只能返回Map。您必须将浮点作为字符串传递,并在.php端转换为浮点。当您重命名方法时会发生什么情况?@Donat Rashin完全正确。如果op收到此错误,它将由StringRequest派生。所以您需要将浮点值转换为字符串。@MapReduce,是的,Rashin是对的。当我添加我的评论时,我没有看到他的评论。
params.put("tire", String.format("%.2f", tire));
protected Map<String, Float> getParams() throws AuthFailureError {
Map <String, Float>params = new HashMap<>();
params.put("tire", 1.0f);
params.put("tire2", 2.0f);
return params;
}