这个String格式化程序行有什么问题?

时间:2012-10-09 17:32:52

标签: java string.format

String result = String.format( "% % % | %-20s| %25s | $%,8.2f | %5d | %-s", thisYear, thisMonth, thisDay, 
                    eventName, eventVenue, ticketPrice, ticketsRemaining, eventType);

ints:thisYear,thisMonth,thisDay,ticketsRemaining。

字符串:eventName,eventVenue,eventType。

double:ticketPrice。

我已经确认所有字段都已正确初始化。此行应输出为以下格式:

2012-01-20 | Penguins-Capitals    |      CONSOL Energy Center | $   92.35 |    15 | NHL
2012-08-05 | Chickenfoot          |    Riverplex Amphitheatre | $   62.50 | 1,273 | Concert

格式化程序不完整,但是当我尝试运行它时会出现故障,因此存在一些语法错误。我对格式化程序不太满意。

1 个答案:

答案 0 :(得分:0)

您应该确保在%之后始终添加类型,在这种情况下为%d

String result = String.format( "%4d-%02d-%02d | %-20s| %25s | $%.3f | %5d | %s", thisYear, thisMonth, thisDay, 
                eventName, eventVenue, ticketPrice, ticketsRemaining, eventType);

制作,代替.观看此thread