Lines Matching refs:digits

63         char[] digits = getBuffer();
64 int nDigits = fdConverter.getDigits(digits);
72 fillCompatible(precision, digits, nDigits, exp, isNegative);
75 exp = applyPrecision(decExp, digits, nDigits, decExp + precision);
76 fillDecimal(precision, digits, nDigits, exp, isNegative);
80 exp = applyPrecision(decExp, digits, nDigits, precision + 1);
81 fillScientific(precision, digits, nDigits, exp, isNegative);
85 exp = applyPrecision(decExp, digits, nDigits, precision);
86 // adjust precision to be the number of digits to right of decimal
91 fillScientific(precision, digits, nDigits, exp, isNegative);
95 fillDecimal(precision, digits, nDigits, exp, isNegative);
120 private static int applyPrecision(int decExp, char[] digits, int nDigits, int prec) {
127 // excludes all significant digits
128 if (digits[0] >= '5') {
129 digits[0] = '1';
130 Arrays.fill(digits, 1, nDigits, '0');
133 Arrays.fill(digits, 0, nDigits, '0');
137 int q = digits[prec];
140 q = digits[--i];
143 q = digits[--i];
147 digits[0] = '1';
148 Arrays.fill(digits, 1, nDigits, '0');
152 digits[i] = (char)(q + 1);
153 Arrays.fill(digits, i+1, nDigits, '0');
155 Arrays.fill(digits, prec, nDigits, '0');
163 private void fillCompatible(int precision, char[] digits, int nDigits, int exp, boolean isNegative) {
166 // print digits.digits.
170 System.arraycopy(digits, 0, mantissa, startIndex, nDigits);
177 System.arraycopy(digits, 0, mantissa, startIndex, exp);
179 System.arraycopy(digits, exp, mantissa, startIndex+exp+1, t);
180 } else { // exp == digits.length
182 System.arraycopy(digits, 0, mantissa, startIndex, nDigits);
189 // write '0' s before the significant digits
196 // copy only when significant digits are within the precision
197 System.arraycopy(digits, 0, mantissa, startIndex + 2 + zeros, t);
203 // copy only when significant digits are within the precision
204 System.arraycopy(digits, 0, mantissa, startIndex + 2, t);
212 mantissa[startIndex] = digits[0];
214 System.arraycopy(digits, 1, mantissa, startIndex + 2, nDigits - 1);
217 mantissa[startIndex] = digits[0];
230 // decExponent has 1, 2, or 3, digits
262 private void fillDecimal(int precision, char[] digits, int nDigits, int exp, boolean isNegative) {
265 // print digits.digits.
268 System.arraycopy(digits, 0, mantissa, startIndex, nDigits);
276 System.arraycopy(digits, 0, mantissa, startIndex, exp);
282 System.arraycopy(digits, exp, mantissa, startIndex + exp + 1, t);
288 // write '0' s before the significant digits
295 // copy only when significant digits are within the precision
296 System.arraycopy(digits, 0, mantissa, startIndex + 2 + zeros, t);
302 // copy only when significant digits are within the precision
303 System.arraycopy(digits, 0, mantissa, startIndex + 2, t);
314 private void fillScientific(int precision, char[] digits, int nDigits, int exp, boolean isNegative) {
319 mantissa[startIndex] = digits[0];
321 System.arraycopy(digits, 1, mantissa, startIndex + 2, t);
324 mantissa[startIndex] = digits[0];
335 // decExponent has 1, 2, or 3, digits