
Salutations.
diemaker form, ton problème m'intriguait et, bien que je n'aurai jamais à m'en servir, j'ai poursuivi son étude. Que penses-tu de cette nouvelle façon de procéder ?
CLS : DEFSTR A-Z
DIM v(20) AS STRING * 10
DIM A AS STRING * 10
DATA "AZ","ER","-300.888","300.25","-300.996","F1","-2.226","QW","1.1","-1.11"
DATA "SF","LPMEA","-400.899", "258.60","X","2","-2"
FOR I% = 1 TO 17
READ v(I%)
NEXT I%
RESULTAT = ""
FOR I% = 1 TO 17
CLS
X = v(I%)
IF VAL(X) <> 0 THEN
Virg% = INSTR(X, ".")
IF Virg% = 0 THEN X = RTRIM$(X) + ".00": PRINT X
IF Virg% = (LEN(X) - 1) THEN X = RTRIM$(X) + "0": PRINT X
END IF
GOSUB ANALYSE
RESULTAT = RESULTAT + B
NEXT I%
FOR I% = 1 TO 17: PRINT RTRIM$(v(I%)) + "*"; : NEXT: PRINT
PRINT RESULTAT
END
ANALYSE:
COLOR 15: PRINT X: PRINT VAL(X)
X = RTRIM$(X) + "00": COLOR 11: PRINT X
SELECT CASE VAL(X)
CASE IS < 0:
X# = VAL(X): PRINT X#
X# = ABS(X#): PRINT X#
X# = X# * 100: PRINT X#
X# = X# + .5: PRINT X#
X# = INT(X#) / 100: PRINT X#
X# = -X#: PRINT X#
A = STR$(X#): PRINT A
B = RTRIM$(A): PRINT B
Virg% = INSTR(B, ".")
IF Virg% = 0 THEN B = B + ".00": PRINT B
IF Virg% = (LEN(B) - 1) THEN B = B + "0": PRINT B
CASE 0:
B = LEFT$(X, LEN(X) - 2): PRINT B
CASE IS > 0:
X# = VAL(X): COLOR 14: PRINT X#
X# = INT(X# * 100 + .5): PRINT X#
X# = X# / 100: PRINT X#
A = STR$(X#): PRINT A
B = LTRIM$(RTRIM$(A)): PRINT B
Virg% = INSTR(B, ".")
IF Virg% = 0 THEN B = B + ".00": PRINT B
IF Virg% = (LEN(B) - 1) THEN B = B + "0": PRINT B
END SELECT
SLEEP 2
RETURN
Tu peux mettre les datas numériques avec ou sans décimales, les alphabétiques doivent impérativement être seuls entre leurs guillemets. J'ai prévu, dans tous les cas, des arrondis avec 2 décimales. Le programme présente quelques petits défauts, mais le résultat obtenu me semble correct. A tester.
Est-ce ce que tu désires obtenir ? Pour faciliter la compréhension des opérations, j'ai détaillé au
maximum. Peut-être même plus qu'il n'était nécessaire, mais je voulais que tu puisses suivre aisément.
Nous tenir au courant.

Salutations.
Moi, mon ordinateur, je l'ai baptisé "Billy" ...
En remerciement, je reçois beaucoup de pages bleues !