2010-06-07 3 views

Répondre

7

Vous pouvez le faire:

a = floor(a*1000)/1000; 
2

Miser sur la réponse de @ gnovice, vous pouvez formater la sortie en tant que chaîne pour se débarrasser des zéros supplémentaires. Voir la documentation sprintf pour toutes les options de formatage.

str=sprintf('The result is %1.3f.',a); 
disp(str) 

affichera "Le résultat est 1.154". dans l'invite de commande. Ou écrire la chaîne à déposer, etc., etc.

0
a = 1.154648126486416; 
% desired precision 
b = -3; 
% your answer 
ans = floor(a*10^(-b))/(10^(-b)); 

La réponse est 1,1540

ce qui est bon si vous ne se soucient pas du reste de chiffres, mais si vous le faites alors soin vous suffit simplement changer "floor" en "round".

ans = round(a*10^(-b))/(10^(-b)); 

La réponse est 1,1550

Questions connexes