Java中使用System.out.format输出Double后如何保留后续文本?
解决Java中格式化输出Double后无法追加文本的问题
你的问题出在System.out.format的参数匹配逻辑上:格式字符串里只有一个%.2f占位符,程序只会读取第一个参数maxTemp,后面的"*C"因为没有对应的占位符,直接被忽略了。
两种可行的解决方法:
方法1:直接把文本写入格式字符串
把*C直接放在格式字符串的%.2f后面,不需要额外传参数:
double maxTemp = 5.43210; System.out.format("\nThe highest Temperature recorded was: %.2f*C", maxTemp);
方法2:添加对应占位符传递文本
如果单位是动态变量,可以在格式字符串里加一个字符串占位符%s,再把单位作为第二个参数传入:
double maxTemp = 5.43210; String unit = "*C"; System.out.format("\nThe highest Temperature recorded was: %.2f%s", maxTemp, unit);
两种方法都能得到你期望的输出:
The highest Temperature recorded was: 5.43*C
内容的提问来源于stack exchange,提问作者TaxingClock
相关产品推荐
相关产品推荐

