Autoscale decimals from Series

This commit is contained in:
Patrick Haßel 2025-02-25 12:10:40 +01:00
parent 1f6e90aa68
commit 4827fe32fb

View File

@ -15,10 +15,13 @@ public class Autoscale {
@NonNull @NonNull
public final String unit; public final String unit;
public final int decimals;
public Autoscale(@NonNull final SeriesDto series, final double... values) { public Autoscale(@NonNull final SeriesDto series, final double... values) {
if (!series.isGraphAutoscale()) { if (!series.isGraphAutoscale()) {
this.factor = 1; this.factor = 1;
this.unit = series.unit.unit; this.unit = series.unit.unit;
this.decimals = series.getDecimals();
return; return;
} }
@ -29,11 +32,13 @@ public class Autoscale {
final int index = (SI_PREFIX.length - 1) / 2 + group; final int index = (SI_PREFIX.length - 1) / 2 + group;
this.unit = SI_PREFIX[index] + series.unit.base.unit; this.unit = SI_PREFIX[index] + series.unit.base.unit;
this.decimals = 1;
} }
@NonNull @NonNull
public String format(final double value) { public String format(final double value) {
return "%.1f %s".formatted(value, unit); return "%%.%df %%s".formatted(decimals).formatted(value, unit);
} }
} }