我在学习过程中遇到了一些我不明白的语法。
puts "He is %d (%3.2f in floating point terms) pounds heavy." % [weight, weight]
我对此不了解的一件事是3.2
. 谢谢参观!
PS 顺便说一下,这个weight
变量最初是用磅定义的。
我在学习过程中遇到了一些我不明白的语法。
puts "He is %d (%3.2f in floating point terms) pounds heavy." % [weight, weight]
我对此不了解的一件事是3.2
. 谢谢参观!
PS 顺便说一下,这个weight
变量最初是用磅定义的。
该%n.mf
格式表示整个输出字段宽度为n
字符位置,小数点后显示的位数为m
,如果需要,在数字前填充空白以完成整个字段n
。如果需要,小数点用0
s 填充以使可见小数位数达到m
.
因此,23.12
格式为的值%8.3f
将显示为bb23.120
(其中每个b
都是空白,而不是真正的 a b
)。的格式%8.1f
将 yield bbbb23.1
。一种格式%8.0f
会给出bbbbbb23
.
请注意,如果格式化数字的字符数超过请求的整个字段宽度,则该字段将变得更大以容纳数字,因此不会被截断。在上面的例子中,%3.2f
for的格式23.12
会给出23.12
.
对于这种%3.2f
情况,字段宽度3
与2
小数点后的数字一样。由于2
小数位加上小数点已经占用了3
字符位置,因此使用此格式打印的任何浮点数都将完整打印,前面没有空格。%2.2f
使用or%1.2f
或会得到相同的结果%0.2f
。但是,如果需要,此格式将始终给出2
小数位截断或零填充,以使其完全2
可见数字。
我们可以像这样指定我们想要的小数位数:%0.2f。
这里的 2 表示我们只想保留两位小数。
这是一个例子: score = 78.5431 puts "The average is %0.2f" % [score]
输出 => 平均值为 78.54