我是否必须将它们声明为float或string

时间:2013-08-14 02:05:31

标签: java android string floating-point

我想查一下, 如果我从URL获取lat和lng, 而那个URL,lat和lng被称为FLOAT。

在我自己的代码中,我将它们声明为字符串,

    static final String KEY_LATITUDE = "latitude";
    static final String KEY_LONGITUDE = "longitude";

当我将lat和lng传递给我的代码并将其显示为文本视图时,它将显示出来。 现在,如果我想将lat和lng的值传递给google map,我是否必须在代码中将它们声明为FLOAT,还是可以保留为字符串?

4 个答案:

答案 0 :(得分:1)

如果要将字符串转换为float use:

float d = Float.parseFloat(KEY_LATITUDE);

这会将你的字符串转换为float并将其存储在'd'。

否则,如果您不想使用它们执行任何操作,那么您可以将其保留为String。

答案 1 :(得分:1)

您是否需要为此解析数据(例如,对浮点值执行一些逻辑)?如果您只想显示纬度和经度值,则无需将它们转换为浮点数。

textView.setText(longitudeString);

完全有效。

答案 2 :(得分:1)

这取决于。如果要传递以浮点数据类型存储它们,则必须这样做。象 -

float aFloatValue = Float.parseFloat("100"); // 100 here is a string. It can be your lat or lng

相反的是 -

String aStringValue = Float.toString(100f); // 100 here is a float converting to a string

答案 3 :(得分:1)

如果您只想显示lat和long,请将其保留为String。 如果你想做一些计算,比如最短的路线或某事,请把它保持为双倍。

对于我在java中的编码风格,通常我不使用float,但使用double。 因为当你计算时,它会转换为double,而Bigdecimal会使用double,而且......

但是如果你能确保浮动足够精确,那么浮动可以为你节省一点点内存。

我正在做的是建立一些网络应用程序,所以双倍和浮动不会产生巨大的差异。如果您正在使用移动应用程序或其他东西,请考虑使用float