2 decimal limit

This commit is contained in:
Mei Chang van der Werff 2026-01-22 20:18:06 +01:00
commit 91997ae251

View file

@ -2,6 +2,7 @@ package commons;
import jakarta.persistence.Entity;
import java.text.DecimalFormat;
import java.util.Objects;
import java.util.Optional;
@ -19,6 +20,8 @@ public class FormalIngredient extends RecipeIngredient implements Scalable<Forma
private static final int tbspToCupConvert = 16;
private static final int tbspToOunceConvert = 2;
private static final int OunceToPoundConvert = 16;
private static final DecimalFormat numberFormat = new DecimalFormat("#.00");
public double getAmount() {
return amount;
@ -66,7 +69,7 @@ public class FormalIngredient extends RecipeIngredient implements Scalable<Forma
public String normalisedUnit(){
Optional<Unit> unit = Unit.fromString(unitSuffix);
if (unit.isEmpty() || !unit.get().isFormal() || unit.get().conversionFactor <= 0) {
return amount + unitSuffix;
return numberFormat.format(amount) + unitSuffix;
}
Unit currentUnit = unit.get();
@ -75,37 +78,37 @@ public class FormalIngredient extends RecipeIngredient implements Scalable<Forma
switch (currentUnit){
case GRAMME -> {
if(baseAmount >= Unit.TONNE.conversionFactor){
return baseAmount /Unit.TONNE.conversionFactor + Unit.TONNE.suffix;
return numberFormat.format(baseAmount /Unit.TONNE.conversionFactor) + Unit.TONNE.suffix;
}if(baseAmount >=Unit.KILOGRAMME.conversionFactor) {
return baseAmount / Unit.KILOGRAMME.conversionFactor + Unit.KILOGRAMME.suffix;
return numberFormat.format(baseAmount / Unit.KILOGRAMME.conversionFactor) + Unit.KILOGRAMME.suffix;
}
}
case MILLILITRE -> {
if (baseAmount >= Unit.LITRE.conversionFactor) {
return baseAmount /Unit.LITRE.conversionFactor + Unit.LITRE.suffix;
return numberFormat.format(baseAmount /Unit.LITRE.conversionFactor) + Unit.LITRE.suffix;
}
}
case TABLESPOON -> {
if(amount>=tbspToPoundConvert){
return amount/tbspToPoundConvert + Unit.POUND.suffix;
return numberFormat.format(amount/tbspToPoundConvert) + Unit.POUND.suffix;
}
if(amount>=tbspToCupConvert){
return amount /tbspToCupConvert + Unit.CUP.suffix;
return numberFormat.format(amount /tbspToCupConvert) + Unit.CUP.suffix;
}
if(amount>=tbspToOunceConvert){
return amount /tbspToOunceConvert + Unit.OUNCE.suffix;
return numberFormat.format(amount /tbspToOunceConvert) + Unit.OUNCE.suffix;
}
}
case OUNCE -> {
if (baseAmount >= OunceToPoundConvert) {
return amount / OunceToPoundConvert + Unit.POUND.suffix;
return numberFormat.format(amount / OunceToPoundConvert) + Unit.POUND.suffix;
}
}
}
return amount + currentUnit.suffix;
return numberFormat.format(amount) + currentUnit.suffix;
}
public String toString() {