UFO ET IT

Ruby에서 float의 표시 정밀도 설정

ufoet 2021. 1. 5. 08:26
반응형

Ruby에서 float의 표시 정밀도 설정


Ruby에서 float의 표시 정밀도를 설정할 수 있습니까?

다음과 같은 것 :

z = 1/3
z.to_s    #=> 0.33333333333333
z.to_s(3) #=> 0.333
z.to_s(5) #=> 0.33333

아니면 to_s방법 을 재정의해야 Float합니까?


z.round(2)또는 x.round(3)가장 간단한 솔루션입니다. http://www.ruby-doc.org/core-1.9.3/Float.html#method-i-round를 참조 하십시오 .

즉, 그 숫자가 그보다 많지 않음을 보장합니다. 1/3의 경우 괜찮지 만, 만약 당신이 말했다 0.25.round(3)면 0.250이 아니라 0.25를 얻게 될 것입니다.


sprintf를 사용할 수 있습니다.

sprintf( "%0.02f", 123.4564564)

일반적으로 다음과 같은 오픈 코드로 변환을 수행합니다.

puts "%5.2f" % [1.0/3.0] 

Ruby는 이와 같은 표현식에 대해 Kernel # format호출합니다. String에는 핵심 연산자 %가 정의 되어 있기 때문입니다. 벨이 울리면 Ruby의 printf 라고 생각하십시오 .


풋을 사용할 수 있습니다.

z = #{'%.3f' % z}

참조 URL : https://stackoverflow.com/questions/1933958/set-the-display-precision-of-a-float-in-ruby

반응형