用ruby数字连接string

我是ruby开发者,所以它是非常新手的问题。

我想连接一个string像一个浮动值如下,然后打印它。

puts " Total Revenue of East Cost: " + total_revenue_of_east_cost 

total_revenue_of_east_cost是一个持有浮动值的variables,我怎么能打印?

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

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

从技术上讲,这是插值。 不同之处在于,串联会添加到string的末尾,插值将评估一些代码并将其插入到string中。 在这种情况下,插入是在string的末尾。

Ruby将评估大括号之间的任何东西在开头大括号之前的十字形。

斯蒂芬·多伊尔的答案,使用一种称为“string插值”的技术是正确的,可能是最简单的解决scheme,然而还有另一种方法。 通过调用对象的to_s方法,可以将对象转换为string进行打印。 所以下面也会起作用。

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

对于你的例子,你可能想要比to_s方法更具体的东西。 毕竟,浮动的to_s往往会包含或多或less的精度比你想显示。

在这种情况下,

 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