我正在尝试将字符串转换为双精度型,因此我可以使用双精度型与另一个进行比较,以使结果相同时为绿色,否则为红色。
第一种方法是:
public void getCords(View view) {
double latitude;
double longitude;
latitude = 1.00;
longitude = 0.00;
String stringlatitude = String.valueOf(latitude);
String stringlongitude = String.valueOf(longitude);
TextView koordinaten_lat = (TextView) findViewById(R.id.koordinaten_lat);
TextView koordinaten_long = (TextView) findViewById(R.id.koordinaten_long);
koordinaten_lat.setText(stringlatitude);
koordinaten_long.setText(stringlongitude);
String latitude2 = DataHolder.getInstance().getLatitude();
String longitude2 = DataHolder.getInstance().getLongitude();
int compare = Double.compare(latitude, latitude2);
if(compare > 0) {
// paint text red
}
else if(compare < 0) {
// paint text red
}
else {
// paint text green
}
}
我从源代码为以下位置的DataHolder中获取数据:
public class DataHolder {
private String latitude;
public String getLatitude() {return latitude;}
public void setLatitude(String stringLatitude) {this.latitude = stringLatitude;}
private String longitude;
public String getLongitude() {return longitude;}
public void setLongitude(String stringLongitude) {this.longitude = stringLongitude;}
private static final DataHolder holder = new DataHolder();
public static DataHolder getInstance() {return holder;}
}
这是从主要设置中获取的:
public void getCords (View view) {
Intent intent1 = new Intent(this, MainActivity.class);
double latitude;
double longitude;
latitude = 0.00;
longitude = 0.00;
String stringlatitude = String.valueOf(latitude);
String stringlongitude = String.valueOf(longitude);
TextView koordinaten_lat = (TextView) findViewById(R.id.koordinaten_lat);
TextView koordinaten_long = (TextView) findViewById(R.id.koordinaten_long);
koordinaten_lat.setText(stringlatitude);
koordinaten_long.setText(stringlongitude);
DataHolder.getInstance().setLatitude(stringlatitude);
DataHolder.getInstance().setLongitude(stringlongitude);
}
尝试这个
String text = "your string"; // example
double value =
Double.parseDouble(text);
希望能帮助到你
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句