Page 1 sur 1
error:invalid operand à la compilation
Publié : dim. 09/mai/2004 4:12
par ZapMan
Code : Tout sélectionner
Procedure.s StrFloat(Val.f) ; Convert float to string
Result$=StrF(Val)
While Right(Result$,1)="0"
Result$=Left(Result$,Len(Result$)-1)
Wend
If Right(Result$,1)="."
Result$=Left(Result$,Len(Result$)-1)
EndIf
ProcedureReturn Result$
EndProcedure
b.l=5
a.s=StrFloat(~(b))
Je sais que ce bout de code n'est pas trés catholique, mais le compilateur est normalement capable de réaliser des conversions de types quand cela est nécessaire. Hors là, j'obtiens à la compilation :
PureBasic.asm[197]:
NO STO
error:invalid operand.
qui n'est pas des plus clair.
A noter que si je remplace la dernière ligne par a.s=StrFloat(b), tout se passe bien (le type entier est converti en float sans problème).
a.s=StrFloat(~5) fonctionne également.
Publié : dim. 09/mai/2004 10:59
par Le Soldat Inconnu
Code : Tout sélectionner
Procedure.s StrFloat(Val.f) ; Convert float to string
Result$ = StrF(Val)
While Right(Result$, 1) = "0"
Result$ = Left(Result$, Len(Result$) - 1)
Wend
If Right(Result$, 1) = "."
Result$ = Left(Result$, Len(Result$) - 1)
EndIf
ProcedureReturn Result$
EndProcedure
b.l = 5
b = ~b
a.s = StrFloat(b)
comme ça, no problem
c'est quand même bizarre
Publié : lun. 10/mai/2004 9:32
par Fred
Effectivement, le NO STO est très suspect. Je vais regarder ca.