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

10 ビュー (過去 30 日間)
gsourop
gsourop 2018 年 10 月 12 日
コメント済み: Stephen23 2018 年 10 月 12 日
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 件のコメント
madhan ravi
madhan ravi 2018 年 10 月 12 日
Try my answer below
Stephen23
Stephen23 2018 年 10 月 12 日
Why so complex? sprintf does rounding for you:
>> sprintf('%.2f%s',x,star)
ans =
1.36***

サインインしてコメントする。

採用された回答

madhan ravi
madhan ravi 2018 年 10 月 12 日
編集済み: madhan ravi 2018 年 10 月 12 日
xstar=sprintf('%.2f%s',round(x,3,'significant'),star)

その他の回答 (1 件)

KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 10 月 12 日
x=1.361620214248647;
star='***';
xstar=sprintf('%f%s',round(x,3,'significant'),star)
  2 件のコメント
gsourop
gsourop 2018 年 10 月 12 日
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 2018 年 10 月 12 日
x=1.361620214248647;
star='***';
xstar=sprintf('%.2f%s',round(x,2),star)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by