Salut,
Je crée un script qui prend une matrice en entrée, obtient l'intervalle entre les éléments de la matrice et génère cet intervalle. Mon problème est que la sortie JMP a parfois des décimales supplémentaires (voir la sortie du journal ci-dessous). Comment puis-je m'assurer que si mon entrée a N décimales, la sortie doit également avoir N décimales?
Scénario:
outmtx = [0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8, 2,
2.2, 2.4, 2.6, 2.8, 3, 3.2, 3.4, 3.6, 3.8, 4,
4.2, 4.4, 4.6, 4.8, 5, 5.2, 5.4, 5.6, 5.8, 6,
6.2, 6.4, 6.6, 6.8, 7, 7.2, 7.4, 7.6, 7.8, 8,
8.2, 8.4, 8.6, 8.8, 9, 9.2, 9.4, 9.6, 9.8, 10];
mtxdiff = J(Nrows(outmtx)-1,1,0);
For (i=1, i<=Nrows(outmtx)-1, i++, mtxdiff[i] = outmtx[i+1]-outmtx[i]);
Show(mtxdiff);
Sortie de la fenêtre de journal :
mtxdiff = [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2,<BR /> 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, <BR />0.199999999999999, 0.2, 0.2, 0.2, 0.2, 0.199999999999999, 0.2, <BR />0.2, 0.2, 0.2, 0.199999999999999, 0.2, 0.2, 0.2, 0.2, 0.199999999999999, <BR />0.2, 0.2, 0.199999999999999, 0.200000000000001, 0.199999999999999,<BR /> 0.200000000000001, 0.199999999999999, 0.199999999999999, 0.200000000000001,<BR /> 0.199999999999999, 0.200000000000001, 0.199999999999999];
Merci,
Shaira
Voir la fonction Round(). Dans ce cas, Round( mtxdiff, 1 ) devrait faire ce que vous voulez.