val height = 1.9d
val name = "James"
println(f"$name%s is $height%2.2f meters tall") // James is 1.90 meters tall
我在Scala中更好的字符串格式化和Scala文档中都看到过这个例子。
在%之后的2代表什么?我认为2f表示保留两位小数。
val height = 1.9d
val name = "James"
println(f"$name%s is $height%2.2f meters tall") // James is 1.90 meters tall
我在Scala中更好的字符串格式化和Scala文档中都看到过这个例子。
在%之后的2代表什么?我认为2f表示保留两位小数。
%[argument_index$][flags][width][.precision]conversion
在您的情况下,格式字符串使用了float
转换(末尾的f
)
因此,您的格式字符串要求使用宽度为2
和精度为2
的浮点转换
同样地,%4.10f
将请求使用宽度为4
和精度为10
的浮点转换。
1.9d
传递给格式字符串%4.10f
将导致字符串1,9000000000
1.9d
传递给格式字符串%10.4f
将导致字符串 1,9000
(它会用空格填充到宽度为10)' 1.20'
(前面有空格)[引号仅用于清晰起见]。https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html