@Test public void formatPercentage() { TestHelper.setContextUser(getUserGroupCache(), Locale.ENGLISH); assertEquals("", NumberFormatter.formatPercent(null)); assertEquals("19%", NumberFormatter.formatPercent(new BigDecimal("0.19000"))); assertEquals("19.2%", NumberFormatter.formatPercent(new BigDecimal("0.19200"))); } }
/** * @see org.apache.wicket.model.Model#getObject() */ @Override public String getObject() { final BigDecimal percentage; if (NumberHelper.isZeroOrNull(position.getNetSum()) == true || NumberHelper.isZeroOrNull(zuweisung.getNetto()) == true) { percentage = BigDecimal.ZERO; } else { percentage = zuweisung.getNetto().divide(position.getNetSum(), RoundingMode.HALF_UP); } final boolean percentageVisible = NumberHelper.isNotZero(percentage); if (percentageVisible == true) { return NumberFormatter.formatPercent(percentage); } else { return " "; } } });
@Override protected void populateItem(final ListItem<KostZuweisungDO> item) { final KostZuweisungDO zuweisung = item.getModelObject(); // row.add(new Kost1FormComponent("kost1", new PropertyModel<Kost1DO>(zuweisung, "kost1"), true) // .setVisible(isShowEditableKostZuweisungen())); final Component kost1 = new Label("kost1", KostFormatter.format(zuweisung.getKost1())); WicketUtils.addTooltip(kost1, KostFormatter.formatToolTip(zuweisung.getKost1())); item.add(kost1); // subItem.add(new Kost2FormComponent("kost2", new PropertyModel<Kost2DO>(zuweisung, "kost2"), true) // .setVisible(isShowEditableKostZuweisungen())); final Component kost2 = new Label("kost2", KostFormatter.format(zuweisung.getKost2())); WicketUtils.addTooltip(kost2, KostFormatter.formatToolTip(zuweisung.getKost2())); item.add(kost2); item.add(new Label("netto", CurrencyFormatter.format(zuweisung.getNetto()))); final BigDecimal percentage; if (NumberHelper.isZeroOrNull(position.getNetSum()) == true || NumberHelper.isZeroOrNull(zuweisung.getNetto()) == true) { percentage = BigDecimal.ZERO; } else { percentage = zuweisung.getNetto().divide(position.getNetSum(), RoundingMode.HALF_UP); } final boolean percentageVisible = NumberHelper.isNotZero(percentage); item.add(new Label("percentage", NumberFormatter.formatPercent(percentage)).setVisible(percentageVisible)); onRenderCostRow(position, zuweisung, kost1, kost2); } };