Ich bin ein totaler Anfänger in Rubin, also ist es eine sehr neue Frage.
Ich versuche, eine Zeichenfolge mit einem Gleitkommawert wie folgt zu verketten und dann zu drucken.
puts " Total Revenue of East Cost: " + total_revenue_of_east_cost
total_revenue_of_east_cost ist eine Variable mit Float-Wert. Wie kann ich sie drucken lassen?
Stephen Doyles Antwort mit einer als "String-Interpolation" bekannten Technik ist richtig und wahrscheinlich die einfachste Lösung, es gibt jedoch einen anderen Weg. Durch Aufrufen einer object to_s-Methode kann dieses Objekt zum Drucken in eine Zeichenfolge konvertiert werden. Das Folgende wird also auch funktionieren.
puts " Total Revenue of East Cost: " + total_revenue_of_east_cost.to_s
quelle
to_s
automatisch aufgerufen , wenn das Ergebnis des interpolierten Ausdrucks noch nicht vorhanden istString
.In Ihrem Beispiel möchten Sie möglicherweise etwas Spezifischeres als die to_s-Methode. Schließlich enthalten to_s auf einem Float häufig mehr oder weniger Genauigkeit, als Sie anzeigen möchten.
In diesem Fall,
puts " Total Revenue of East Coast: #{sprintf('%.02f', total_revenue_of_east_coast)}"
könnte besser sein. # {} kann mit jedem Ruby-Code umgehen, sodass Sie sprintf oder eine andere gewünschte Formatierungsmethode verwenden können.
quelle
Ich mag (siehe Class String% für Details):
puts " Total Revenue of East Coast: " + "%.2f" % total_revenue_of_east_coast
quelle
Beispiel bucle
(1..100).each do |i| puts "indice #{i} " end
quelle