MonetaryFormat implements Serializable { public MonetaryFormat decimalMark(char decimalMark) { checkArgument(!Character.isDigit(decimalMark)); checkArgument(decimalMark > 0); if (decimalMark == this.decimalMark) return this; else return new MonetaryFormat(negativeSign, positiveSign, zeroDigit, decimalMark, minDecimals, decimalGroups, shift, roundingMode, codes, codeSeparator, codePrefixed); } MonetaryFormat(); private  MonetaryFormat(char negativeSign, char positiveSign, char zeroDigit, char decimalMark, int minDecimals,
                           List<Integer> decimalGroups, int shift, RoundingMode roundingMode, Map<Integer, String> codes,
                           char codeSeparator, boolean codePrefixed); MonetaryFormat negativeSign(char negativeSign); MonetaryFormat positiveSign(char positiveSign); MonetaryFormat digits(char zeroDigit); MonetaryFormat decimalMark(char decimalMark); MonetaryFormat minDecimals(int minDecimals); MonetaryFormat optionalDecimals(int... groups); MonetaryFormat repeatOptionalDecimals(int decimals, int repetitions); MonetaryFormat shift(int shift); MonetaryFormat roundingMode(RoundingMode roundingMode); MonetaryFormat noCode(); MonetaryFormat code(int codeShift, String code); MonetaryFormat codeSeparator(char codeSeparator); MonetaryFormat prefixCode(); MonetaryFormat postfixCode(); MonetaryFormat withLocale(Locale locale); CharSequence format(Monetary monetary); CharSequence format(Monetary monetary, int smallestUnitExponent); Value parse(ValueType type, String str); Value parseFiat(String currencyCode, String str); String code(); static final MonetaryFormat BTC; static final MonetaryFormat MBTC; static final MonetaryFormat UBTC; static final MonetaryFormat FIAT; static final String CODE_BTC; static final String CODE_MBTC; static final String CODE_UBTC; }
@Test public void testDecimalMark() throws Exception { assertEquals("1.00", NO_CODE.format(Coin.COIN).toString()); assertEquals("1,00", NO_CODE.decimalMark(',').format(Coin.COIN).toString()); }