NumberFormatterImpl impl(macros, false, status);
MicroProps& micros = impl.preProcessUnsafe(inValue, status);
if (U_FAILURE(status)) { return; }
- int32_t length = formatNumber(micros, inValue, outString, 0, status);
+ int32_t length = writeNumber(micros, inValue, outString, 0, status);
writeAffixes(micros, outString, 0, length, status);
}
MicroProps micros;
preProcess(inValue, micros, status);
if (U_FAILURE(status)) { return; }
- int32_t length = formatNumber(micros, inValue, outString, 0, status);
+ int32_t length = writeNumber(micros, inValue, outString, 0, status);
writeAffixes(micros, outString, 0, length, status);
}
return;
}
fMicroPropsGenerator->processQuantity(inValue, microsOut, status);
+ microsOut.rounder.apply(inValue, status);
+ microsOut.integerWidth.apply(inValue, status);
}
MicroProps& NumberFormatterImpl::preProcessUnsafe(DecimalQuantity& inValue, UErrorCode& status) {
return fMicros; // must always return a value
}
fMicroPropsGenerator->processQuantity(inValue, fMicros, status);
+ fMicros.rounder.apply(inValue, status);
+ fMicros.integerWidth.apply(inValue, status);
return fMicros;
}
return fRules.getAlias();
}
-int32_t NumberFormatterImpl::formatNumber(const MicroProps& micros, DecimalQuantity& quantity,
- NumberStringBuilder& string, int32_t index,
- UErrorCode& status) {
- micros.rounder.apply(quantity, status);
- micros.integerWidth.apply(quantity, status);
- int32_t length = writeNumber(micros, quantity, string, index, status);
- return length;
-}
-
int32_t NumberFormatterImpl::writeAffixes(const MicroProps& micros, NumberStringBuilder& string,
int32_t start, int32_t end, UErrorCode& status) {
// Always apply the inner modifier (which is "strong").
* Synthesizes the output string from a MicroProps and DecimalQuantity.
* This method formats only the main number, not affixes.
*/
- static int32_t formatNumber(const MicroProps& micros, DecimalQuantity& quantity,
- NumberStringBuilder& string, int32_t index, UErrorCode& status);
+ static int32_t writeNumber(const MicroProps& micros, DecimalQuantity& quantity,
+ NumberStringBuilder& string, int32_t index, UErrorCode& status);
/**
* Adds the affixes. Intended to be called immediately after formatNumber.
const MicroPropsGenerator *
macrosToMicroGenerator(const MacroProps ¯os, bool safe, UErrorCode &status);
- static int32_t
- writeNumber(const MicroProps µs, DecimalQuantity &quantity, NumberStringBuilder &string,
- int32_t index, UErrorCode &status);
-
static int32_t
writeIntegerDigits(const MicroProps µs, DecimalQuantity &quantity, NumberStringBuilder &string,
int32_t index, UErrorCode &status);