class DoubleOperations implements MathOperations<Double>, Comparator<Double> {

    @Override
    public Double roundUp( Double value,
                           int decimalShift ) {
        if (value == 0) return 0.0d;
        double shiftedValue = (Math.abs(value) * Math.pow(10.0d, decimalShift) + 0.5d) * Math.signum(value);
        double roundedValue = (int)shiftedValue;
        return roundedValue * Math.pow(10.0d, -decimalShift);
    }

}