使用String.format格式化toString方法

时间:2015-03-28 17:54:24

标签: java tostring string.format

所需输出: 代码:123标题:BookA费用(SGD):20.00美元                    贷款期限:3周

return String.format("%-20s%-20s%\n", "Code: " + code, "Title: " + title, "%.2f\nFees(SGD): $" + fees, "Lesson Duration: " + lessonDuration + "wks");

它只返回前3个(代码,标题,费用),但不返回贷款期限。另外我在哪里输入%.2f的费用,以便它总是小数点后2位?

2 个答案:

答案 0 :(得分:0)

您的问题询问“贷款持续时间”,但您的示例代码使用“课程持续时间”。那可能是你的问题。

%。。2f应该用于设置两个小数位。它是如何表现的?

答案 1 :(得分:0)

当您使用String.format时,通常只需传入变量并为变量使用正确的百分号即可。类型。例如,如果要格式化整数,请使用%dString.format("Here is an integer: %d", myInt)。对于字符串,您使用%s,对于双打,您使用%f.2来表示您已经找到的小数位数。您放置在第一个字符串参数中格式化所有。所有你需要做的就是:

String code = "123";
String title = "BookA";
double fees = 20.943;
int lessonDuration = 3;

String str = String.format("Code: %s\nTitle: %s\nFees(SGD): $%.2f\nLesson Duration: %d wks", 
    code, 
    title, 
    fees, 
    lessonDuration);

你应该去read this article here,这样你才能理解Java中的格式并且不会让你的测试失败。