Написание Float (не плавать) для посылки
Я хотел бы написать Float, чтобы я мог установить его значение равным нулю... какие-нибудь идеи?
Моя единственная идея теперь состоит в том, чтобы записать отрицательное значение, если Float равно нулю, тогда при чтении участка обработайте отрицательное значение, написав ноль. Это было бы довольно неприятно, так как многие операторы if (конечная цель - написать этот объект JSON, и он должен содержать Float s, а не float.
Спасибо!
редактировать:
Я в настоящее время использую эти методы, чтобы сделать это. Все значения из r.get....() возвращают число с плавающей точкой
private float valueFromFloat(Float f) {
if (f == null) {
return -1f;
} else {
return f.floatValue();
}
}
private void writeRoute(Route r) {
parcel.writeFloat(valueFromFloat(r.getBus()));
parcel.writeFloat(valueFromFloat(r.getHeavy_rail()));
parcel.writeFloat(valueFromFloat(r.getWalk()));
parcel.writeFloat(valueFromFloat(r.getCar23()));
parcel.writeFloat(valueFromFloat(r.getLight_rail()));
parcel.writeFloat(valueFromFloat(r.getCars4()));
parcel.writeFloat(valueFromFloat(r.getCar()));
parcel.writeFloat(valueFromFloat(r.getAlternative()));
parcel.writeFloat(valueFromFloat(r.getMotorcycle()));
}
1 ответ
Решение
writeValue работает для Float, Double и нескольких других типов
Float x = new Float(3.14);
parcel.writeValue(x);
// later
Float x = parcel.readValue();