用 Ruby 中的数字连接字符串

我完全是红宝石的初学者,所以这是个很新鲜的问题。

我尝试将一个字符串与一个浮点值连接起来,如下所示,然后打印它。

puts " Total Revenue of East Cost: " + total_revenue_of_east_cost

Total _ Revenue _ of _ east _ Cost 是一个持有浮动值的变量,我怎样才能让它打印出来?

87298 次浏览

这不完全是串联,但它会做你想做的工作:

puts " Total Revenue of East Cost: #{total_revenue_of_east_cost}"

技术上来说,这是插值。不同之处在于,连接添加到字符串的末尾,而插值则计算一段代码并将其插入到字符串中。在本例中,插入位于字符串的末尾。

Ruby 将计算字符串中大括号之间的任何内容,其中开头的大括号前面是一个八索普。

斯蒂芬 · 多伊尔的回答是正确的,他使用了一种被称为“字符串插值”的技术,这可能是最简单的解决方案,但是还有另外一种方法。通过调用对象 to _ s 方法,可以将该对象转换为用于打印的字符串。所以下面这些也可以。

puts " Total Revenue of East Cost: " + total_revenue_of_east_cost.to_s

对于您的示例,您可能需要比 to _ s 方法更具体的内容。毕竟,浮点数上的 to _ s 通常包含比您希望显示的更多或更少的精度。

这样的话,

puts " Total Revenue of East Coast: #{sprintf('%.02f', total_revenue_of_east_coast)}"

也许更好。# {}可以处理任何比特的 Ruby 代码,因此您可以使用 sprintf 或任何其他您喜欢的格式化方法。

我喜欢(有关详细信息,请参阅 Class String%) :

puts " Total Revenue of East Coast: " + "%.2f" % total_revenue_of_east_coast

样品扣

(1..100).each do |i| puts "indice #{i} " end