return toSoyData(value.integerValue());
} else {
return toSoyData((int) Math.round(value.numberValue()));
}
} else if (numDigitsAfterPt > 0) {
double valueDouble = value.numberValue();
double shift = Math.pow(10, numDigitsAfterPt);
return toSoyData(Math.round(valueDouble * shift) / shift);
} else {
double valueDouble = value.numberValue();
double shift = Math.pow(10, -numDigitsAfterPt);