### Question:
FixedPointNumber extends Number { @Override public String toString() { if (scale == 0 || scaledValue == 0) { return String.valueOf(scaledValue); } int factor = (int) Math.pow(10.0, scale); long beforePoint = scaledValue / factor; long afterPoint = Math.abs(scaledValue - beforePoint * factor); if (beforePoint == 0 && scaledValue < 0) { return "-0." + afterPoint; } else { String scaledStr = String.valueOf(scaledValue); int idx = scaledStr.length() - scale; String insertPoint; if (idx <= 0) { insertPoint = insertPointBefore(idx); idx = 0; } else { insertPoint = "."; } return new StringBuilder(scaledStr) .insert(idx, insertPoint) .toString(); } } protected  FixedPointNumber(byte[] bytes, int offset, int length);  FixedPointNumber(long scaledValue);  FixedPointNumber(long scaledValue, byte scale);  FixedPointNumber(double value, int precision);  FixedPointNumber(String s); @Override int intValue(); @Override long longValue(); @Override @Deprecated float floatValue(); @Override double doubleValue(); long getScaledValue(); byte getScale(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testZeroToString() { final FixedPointNumber fixedPointNumber = new FixedPointNumber(0, 0); assertEquals("0", fixedPointNumber.toString()); }
@Test public void testScaledZeroToString() { final FixedPointNumber fixedPointNumber = new FixedPointNumber(0, 20); assertEquals("0", fixedPointNumber.toString()); }