diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/RealNumberRenderer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/RealNumberRenderer.java index 6be297b890c71e4acd7e50b35bcd47fbdc17a2b2..ac613b3dc1da8a71dc23d273cfdfa55e672e3f6f 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/RealNumberRenderer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/RealNumberRenderer.java @@ -6,6 +6,7 @@ import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer; import com.google.gwt.i18n.client.NumberFormat; import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.BaseEntityModel; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.MultilineHTML; /** * Renderer of {@link Double} value. @@ -16,6 +17,8 @@ public final class RealNumberRenderer implements GridCellRenderer<BaseEntityMode { private static final int MAX_DIGITAL_FORMAT_LENGTH = 10; + private static final double MIN_DIGITAL_FORMAT_VALUE = 0.00005; + private static final String SCIENTIFIC_FORMAT = "0.0000E0000"; private static final String DIGITAL_FORMAT = "0.0000"; @@ -39,7 +42,14 @@ public final class RealNumberRenderer implements GridCellRenderer<BaseEntityMode { formattedValue = NumberFormat.getFormat(SCIENTIFIC_FORMAT).format(doubleValue); } - return formattedValue; + if (doubleValue < MIN_DIGITAL_FORMAT_VALUE) + { + formattedValue += "..."; // show 0.0000... + } else + { + formattedValue += " "; // add ' ' to always have a correct alignment + } + return MultilineHTML.wrapUpInDivWithTooltip(formattedValue, Double.toString(doubleValue)); } }