1 package com.sharkysoft.printf;
2
3 import java.math.BigDecimal;
4 import com.sharkysoft.math.MathToolbox;
5
6 final class Formatter_g_Bi extends Formatter_g
7 {
8
9 Formatter_g_Bi(final FormatSpecifier ipPfs)
10 {
11 super(ipPfs);
12 }
13
14 void format(final PrintfState ipPs)
15 {
16 adjustWidthAndPrecision(ipPs);
17 if
18 ( shouldUseScientific
19 ( MathToolbox.toScientificNotation
20 ( ((BigDecimal) ipPs.mapArgs[ipPs.mnArgIndex]).doubleValue()
21 )
22 )
23 )
24 formatBigDecimalScientific(ipPs);
25 else
26 formatBigDecimal(ipPs);
27 }
28
29 Class[] argTypes() {
30 Class[] types = super.argTypes();
31 types[0] = BigDecimal.class;
32 return types;
33 }
34 }
35