Program Club

루비에서 문자열을 숫자와 연결

proclub 2020. 11. 16. 22:22
반응형

루비에서 문자열을 숫자와 연결


나는 루비의 초보자이므로 초보자 질문입니다.

다음과 같은 부동 소수점 값으로 문자열을 연결 한 다음 인쇄하려고합니다.

puts " Total Revenue of East Cost: " + total_revenue_of_east_cost 

total_revenue_of_east_cost는 부동 값을 보유하는 변수입니다. 어떻게 인쇄 할 수 있습니까?


이것은 정확히 연결하는 것은 아니지만 원하는 작업을 수행합니다.

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

기술적으로 이것은 보간입니다. 차이점은 연결이 문자열의 끝에 추가된다는 것입니다. 여기서 보간은 약간의 코드를 평가하여 문자열에 삽입합니다. 이 경우 삽입은 문자열 끝에 있습니다.

Ruby는 여는 중괄호 앞에 옥토 토프가 오는 문자열에서 중괄호 사이의 모든 것을 평가합니다.


"String interpolation"이라고 알려진 기술을 사용한 Stephen Doyle의 대답은 정확하고 아마도 가장 쉬운 해결책 일 것입니다. 그러나 다른 방법이 있습니다. 개체 to_s 메서드를 호출하여 개체를 인쇄용 문자열로 변환 할 수 있습니다. 따라서 다음도 작동합니다.

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

예를 들어 to_s 메서드보다 더 구체적인 것을 원할 수 있습니다. 결국, float의 to_s는 종종 표시하려는 것보다 더 많거나 적은 정밀도를 포함합니다.

이 경우

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

더 좋을 수도 있습니다. # {}는 모든 루비 코드를 처리 할 수 ​​있으므로 sprintf 또는 원하는 다른 서식 지정 방법을 사용할 수 있습니다.


나는 좋아한다 (자세한 내용은 Class String % 참조) :

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

예제 bucle

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

참고 URL : https://stackoverflow.com/questions/1940106/concatenating-string-with-number-in-ruby

반응형