所需输出: 代码: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位?
答案 0 :(得分:0)
您的问题询问“贷款持续时间”,但您的示例代码使用“课程持续时间”。那可能是你的问题。
%。。2f应该用于设置两个小数位。它是如何表现的?
答案 1 :(得分:0)
当您使用String.format
时,通常只需传入变量并为变量使用正确的百分号即可。类型。例如,如果要格式化整数,请使用%d
:String.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中的格式并且不会让你的测试失败。