2017-05-13 1 views
0

ドットの後2桁の文字列表現を受け取りたいと思います。MATLABのnum2strが矛盾しています

私はMATLAB R2015aを使用して、そしてnum2strは関数が矛盾した結果を返すことに気づいている:私は1.7の代わりに、1.71を取得1.711ため

num2str(0.511,2) 

ans = 

0.51 

:私は必要な結果(0.51)を取得

0.511のために:

num2str(1.511,2) 

ans = 

1.5 

誰でも知っていますか? num2str()のドキュメントから

答えて

2

num2strから'precision'スカラー入力はsignificant digitsの数です。小数点以下2桁の数字を使用する場合は、'formatSpec'文字列引数を使用します。

num2str(0.511,'%.2f') 
    0.51 
num2str(1.511,'%.2f') 
    1.51 
2

S = num2strは(A、精度)が精度で指定された最大有効桁数で数値を表す文字列を返します。

つまり、2番目のパラメータは、小数点以下の桁数ではなく、有効数字の総数を制御します。

小数点以下2桁に丸めたい場合は、round()関数を使用します。あなたはnum2str()を呼び出す前に番号を丸め試すことができます。

num2str(round(1.511,2)) 
関連する問題