#1 Fri 22 September 2006 17:06
[MapBasic] - Récupérer la valeur complète d'un flottant
Bonjour,
Mon problème est assez simple j'imagine mais là je bloque complètement.
Je cherche à retourner la valeur complète de données enregistrées au format flottant.
Ex : J'ai dans ma base la valeur 117,69812011719 hors si je fais un "fetch" dessus il me retourne 117,698
Règle du jeux : je ne peux pas changer cette colonne en virgule fixe.
Voici le bout de code que j'utilise ( c'est de l'OLE depuis VB) :
Code:
For i = 1 To m_row_count_sel o_Wait.Value = i - 1 Mi.Do ("Fetch Rec " & i & " from " & sSelName) 'Dim iValue As Double 'iValue = Round(Val(Mi.Eval(sSelName & "." & s_col_lib)), 11) 'MsgBox (cstr(iValue)) m_row_lib(i - 1) = Val(Mi.Eval(sSelName & "." & s_col_lib)) Next
J'ai essayé de formater depuis vb mais le problème est en amont :
Mi.Eval(sSelName & "." & s_col_lib) retourne la valeur arrondie.
Si quelqu'un à une idée.
Merci d'avance
Florent
Hors ligne
#2 Fri 22 September 2006 17:55
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [MapBasic] - Récupérer la valeur complète d'un flottant
Ben...c'est pas du MapBasic ça!! J'ai été trompé par la 'balise'!!
Dommage parce que sinon j'aurais su m'en sortir avec les fonction String, genre Format$, etc...
Mais là ?? Pourquoi ne pas multiplier par 10^12 pour ne rien perdre?? (je dis une bêtise??...)
Hors ligne
#3 Fri 22 September 2006 19:56
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: [MapBasic] - Récupérer la valeur complète d'un flottant
Florent
un petit coup de main,
Va voir dans les options Windows
Options régionales et linguistique, personalise et indique pour les nombres, une décimale de 9.
pour ta valeur 117,69812011719, il devrait te retourner 117,698120117
Pour plus de précision, il te reste la multiplication, et la division derrière, pour récupérer ton chiffre initial.
Mais as tu vraiment besoin d'une telle précision?
Cordialement
Hors ligne