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

10 vues (au cours des 30 derniers jours)
gsourop
gsourop le 12 Oct 2018
Commenté : Stephen23 le 12 Oct 2018
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 commentaires
madhan ravi
madhan ravi le 12 Oct 2018
Try my answer below
Stephen23
Stephen23 le 12 Oct 2018
Why so complex? sprintf does rounding for you:
>> sprintf('%.2f%s',x,star)
ans =
1.36***

Connectez-vous pour commenter.

Réponse acceptée

madhan ravi
madhan ravi le 12 Oct 2018
Modifié(e) : madhan ravi le 12 Oct 2018
xstar=sprintf('%.2f%s',round(x,3,'significant'),star)

Plus de réponses (1)

KALYAN ACHARJYA
KALYAN ACHARJYA le 12 Oct 2018
x=1.361620214248647;
star='***';
xstar=sprintf('%f%s',round(x,3,'significant'),star)
  2 commentaires
gsourop
gsourop le 12 Oct 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 le 12 Oct 2018
x=1.361620214248647;
star='***';
xstar=sprintf('%.2f%s',round(x,2),star)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by