/** * Uses NumberHelper.splitToInts(value, 1, 3, 2, 2) * * @param value * @see NumberHelper#splitToInts(Number, int...) */ public static int[] splitKost(final Number value) { final int[] result = NumberHelper.splitToInts(value, 1, 3, 2, 2); if (value.intValue() > MAX_VALUE) { throw new UnsupportedOperationException("Unsupported format of Kost (max value = " + MAX_VALUE + ": " + value); } if (result.length != 4) { throw new UnsupportedOperationException("Unsupported format of Kost: " + value); } return result; }
@Test public void splitToInts() { compareIntArray(new int[] { 1, 111, 5, 11 }, NumberHelper.splitToInts(11110511, 1, 3, 2, 2)); compareIntArray(new int[] { 1, 0, 5, 11 }, NumberHelper.splitToInts(10000511, 1, 3, 2, 2)); compareIntArray(new int[] { 0, 0, 5, 11 }, NumberHelper.splitToInts(511, 1, 3, 2, 2)); compareIntArray(new int[] { 0, 0, 5, 11 }, NumberHelper.splitToInts(511, 1, 3, 2, 2)); compareIntArray(new int[] { 5, 120, 1, 2 }, NumberHelper.splitToInts(new Double("51200102"), 1, 3, 2, 2)); }