function applyGrouping(sIntegerPart, oOptions) {
		var iGroupSize = oOptions.groupingSize,
			iBaseGroupSize = oOptions.groupingBaseSize || iGroupSize,
			iLength = sIntegerPart.length,
			iPosition = Math.max(iLength - iBaseGroupSize, 0) % iGroupSize || iGroupSize,
			sGroupedIntegerPart = sIntegerPart.slice(0, iPosition);

		while (iLength - iPosition >= iBaseGroupSize) {
			sGroupedIntegerPart += oOptions.groupingSeparator;
			sGroupedIntegerPart += sIntegerPart.slice(iPosition, iPosition + iGroupSize);
			iPosition += iGroupSize;
		}
		sGroupedIntegerPart += sIntegerPart.slice(iPosition, iLength);

		return sGroupedIntegerPart;
	}
Applies the grouping to the given integer part and returns it.

@param {string} sIntegerPart
  A string with the integer value, e.g. "1234567"
@param {object} oOptions
  The format options
@param {int} oOptions.groupingBaseSize
  The grouping base size in digits if it is different from the grouping size (e.g. Indian grouping)
@param {string} oOptions.groupingSeparator
  The character used as grouping separator
@param {int} oOptions.groupingSize
  The grouping size in digits
@returns {string}
  The integer part with grouping, e.g. "1.234.567" for locale de-DE
@private