29 lines
605 B
Java
29 lines
605 B
Java
package quantities.plain;
|
|
|
|
public abstract class Quantity {
|
|
public final double value;
|
|
public final Unit unit;
|
|
|
|
protected Quantity(double value, Unit unit) {
|
|
this.value = value;
|
|
this.unit = unit;
|
|
}
|
|
|
|
public double getBaseValue() {
|
|
return value * unit.baseFactor;
|
|
}
|
|
|
|
public double value(Unit unit) {
|
|
return getBaseValue() / unit.baseFactor;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return value + " " + unit;
|
|
}
|
|
|
|
public String format(String fmt, Unit unit) {
|
|
return String.format(fmt, value(unit), unit);
|
|
}
|
|
}
|