format method
Formats value into a display string.
Implementation
@override
String format(num value) {
final cents = _toCents(value);
if (cents < 0) return '负${format(-cents / 100)}';
final yuan = cents ~/ 100;
final jiao = cents ~/ 10 % 10;
final fen = cents % 10;
final buffer = StringBuffer(prefix);
if (yuan > 0 || (jiao == 0 && fen == 0)) {
buffer
..write(_financial.format(yuan))
..write('元');
}
if (jiao == 0 && fen == 0) {
buffer.write(wholeSuffix);
return buffer.toString();
}
if (yuan > 0 && jiao == 0) {
buffer.write('零');
}
if (jiao > 0) {
buffer
..write(ChineseFinancialCodec.digits[jiao])
..write('角');
}
if (fen > 0) {
buffer
..write(ChineseFinancialCodec.digits[fen])
..write('分');
} else if (writeWholeSuffixForJiao) {
buffer.write(wholeSuffix);
}
return buffer.toString();
}