Java String.format() with HALF_EVEN rounding
问题 I'd like to use String.format() to format some BigDecimals as part of a string: // Example: String getPrice( String pattern ) { BigDecimal price = basePrice.multiply( BigDecimal.ONE.add( vatRate ) ); BigDecimal priceInPence = price.multiply( new BigDecimal( "100" ) ); BigDecimal annualPrice = price.multiply( new BigDecimal( "365" ) ); return String.format( pattern, priceInPence, annualPrice ); } String myPrice1 = getPrice( "Your price is %1$.3fp/day (£2$.2f/year) including VAT" ); // -->