diff --git a/core/src/net/sf/openrocket/unit/Unit.java b/core/src/net/sf/openrocket/unit/Unit.java index 4c4195b15..fd0f97ac6 100644 --- a/core/src/net/sf/openrocket/unit/Unit.java +++ b/core/src/net/sf/openrocket/unit/Unit.java @@ -90,8 +90,11 @@ public abstract class Unit { * @return A string representation of the number in these units. */ public String toString(double value) { - double val = toUnit(value); + if (Double.isNaN(value)) + return "N/A"; + double val = toUnit(value); + if (Math.abs(val) > 1E6) { return expFormat.format(val); } diff --git a/swing/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java index b0b120c82..d05c0b039 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/ComponentAnalysisDialog.java @@ -571,7 +571,12 @@ public class ComponentAnalysisDialog extends JDialog implements StateChangeListe } if (forces.getCP() != null) { - row.cpx = forces.getCP().x; + if ((comp instanceof Rocket) && + (forces.getCP().weight < MathUtil.EPSILON)) { + row.cpx = Double.NaN; + } else { + row.cpx = forces.getCP().x; + } row.cna = forces.getCNa(); }