private String intervalString(BigDecimal v) { final List<TimeUnit> timeUnits = getTimeUnits(type.getSqlTypeName()); final StringBuilder b = new StringBuilder(); for (TimeUnit timeUnit : timeUnits) { final BigDecimal[] result = v.divideAndRemainder(timeUnit.multiplier); if (b.length() > 0) { b.append(timeUnit.separator); } final int width = b.length() == 0 ? -1 : width(timeUnit); // don't pad 1st pad(b, result[0].toString(), width); v = result[1]; } if (Util.last(timeUnits) == TimeUnit.MILLISECOND) { while (b.toString().matches(".*\\.[0-9]*0")) { if (b.toString().endsWith(".0")) { b.setLength(b.length() - 2); // remove ".0" } else { b.setLength(b.length() - 1); // remove "0" } } } return b.toString(); }
private String intervalString(BigDecimal v) { final List<TimeUnit> timeUnits = getTimeUnits(type.getSqlTypeName()); final StringBuilder b = new StringBuilder(); for (TimeUnit timeUnit : timeUnits) { final BigDecimal[] result = v.divideAndRemainder(timeUnit.multiplier); if (b.length() > 0) { b.append(timeUnit.separator); } final int width = b.length() == 0 ? -1 : width(timeUnit); // don't pad 1st pad(b, result[0].toString(), width); v = result[1]; } if (Util.last(timeUnits) == TimeUnit.MILLISECOND) { while (b.toString().matches(".*\\.[0-9]*0")) { if (b.toString().endsWith(".0")) { b.setLength(b.length() - 2); // remove ".0" } else { b.setLength(b.length() - 1); // remove "0" } } } return b.toString(); }