Unable to control floating point display?

조회 수: 1(최근 30일)
Roger Breton
Roger Breton 2022년 3월 14일
댓글: Roger Breton 2022년 3월 15일
I have this result :
There should be three Lab numbers on the third line but only L and a are showing, with two decimals of precision each (50.91 -46.21 ,). I have not completely figured out how to control the num2str conversion, the best I had was this :
Line1 = ['(X,Y) = ', num2str(posX), ', ', num2str(posY)];
Line2 = ['RGB = ', num2str(RGB(1,1,1)), ', ', num2str(RGB(1,1,2)), ' , ', num2str(RGB(1,1,3))];
Line3 = ['Lab = ', num2str(Lab(1,1,1),2), ', ', num2str(Lab(1,1,2),2), ' , ', num2str(Lab(1,1,3),2)];
Line4 = ['Lch = ', num2str(Lab(1,1,1),2), ', ', num2str(chroma,2), ' , ', num2str(hueAngle,3), '°'];
I have not figured out yet the proper parameters to get a conversion from double to string with no decimal part?

채택된 답변

Stephen23
Stephen23 2022년 3월 14일
편집: Stephen23 2022년 3월 14일
It would be better to use SPRINTF rather than NUM2STR. For example:
Line1 = sprintf('(X,Y) = %u, %u', posX, posY);
Line2 = sprintf('RGB = %.0f, %.0f, %.0f', RGB(1,1,1:3));
Line3 = sprintf('RGB = %.2f, %.2f, %.2f', Lab(1,1,1:3));
  댓글 수: 1
Roger Breton
Roger Breton 2022년 3월 14일
Thank you so much!!!!

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Walter Roberson
Walter Roberson 2022년 3월 14일
round()
  댓글 수: 2
Roger Breton
Roger Breton 2022년 3월 15일
I ended up using your solution ;-)

댓글을 달려면 로그인하십시오.

제품


릴리스

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by