How to concatenate the rounded digits of a number and a string?

2 Ansichten (letzte 30 Tage)
Hi everyone,
I am trying to concatenate a rounded number (in the 2nd digit after decimal) and string value, so that:
x= 1.361620214248647
star = '***'
xstar = sprintf('%d%s',round(x,3,'significant'), star)
I would expect the output to be 1.36***, rather than 1.360000e+00***
  2 Kommentare
Stephen23
Stephen23 am 12 Okt. 2018
Why so complex? sprintf does rounding for you:
>> sprintf('%.2f%s',x,star)
ans =
1.36***

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

madhan ravi
madhan ravi am 12 Okt. 2018
Bearbeitet: madhan ravi am 12 Okt. 2018
xstar=sprintf('%.2f%s',round(x,3,'significant'),star)

Weitere Antworten (1)

KALYAN ACHARJYA
KALYAN ACHARJYA am 12 Okt. 2018
x=1.361620214248647;
star='***';
xstar=sprintf('%f%s',round(x,3,'significant'),star)
  2 Kommentare
gsourop
gsourop am 12 Okt. 2018
Hi there,
Thank you for answering my question. Nevertheless, the answer I get 1.360000***, but I would expect 1.36***, instead.
KALYAN ACHARJYA
KALYAN ACHARJYA am 12 Okt. 2018
x=1.361620214248647;
star='***';
xstar=sprintf('%.2f%s',round(x,2),star)

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by