Probleme de conversion c++ builder et RoundTo

stef du 62 Messages postés 9 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 17 février 2009 - 12 févr. 2009 à 10:39
stef du 62 Messages postés 9 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 17 février 2009 - 17 févr. 2009 à 14:18
Bonjour je réalise un programme dans lequel je convertis des secondes en minutes.
Mon code est le suivant :

int IndexOfH = mem.LastDelimiter("h");
AnsiString HEURES = mem.SubString(0,IndexOfH-1);
mem = mem.SubString(IndexOfH+1,mem.Length());
int IndexOfM = mem.LastDelimiter("m");
AnsiString MINUTES = mem.SubString(0,IndexOfM-1);
mem = mem.SubString(IndexOfM+1,mem.Length());
 int IndexOfS = mem.LastDelimiter(",");


if(!IndexOfS == 0)
{
     AnsiString SECONDES = mem.SubString(0,IndexOfS-1);
      mem = mem.SubString(IndexOfS+1,mem.Length());
      float NewMINUTES = SECONDES.ToDouble() / 60;
      float MINUTES2 = MINUTES.ToDouble() + NewMINUTES;
      MINUTES = RoundTo(MINUTES2,-1);
}

mem = HEURES + "h" + MINUTES + "m";

Mon probleme est que lors de l'arrondit, si MINUTES donne un entier, l'affichage va donner par exemple :
0h9m

Je voudrais que le resultat soit :
0h9,0m

En effet ce projet ayant pour but le pilotage d'un telescope neccessite l'envoi de trame dans une carte snap.
Mais les occurences de la carte snap n'accepte pas la trame si celle ci ne contient un flottant pour les minutes.

Il faudrait donc que je puisse afficher un flottant pour les minutes pour chaques objets.
Exemple:
Si MINUTES n'est pas un float
Alors mem = HEURES + "h" + MINUTES + ",0m";

Ou alors il me faudrait une autre méthode pour arrondir que RoundTo qui permettent d'afficher ",0" si l'arrondi donne un entier

Merci

1 réponse

stef du 62 Messages postés 9 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 17 février 2009
17 févr. 2009 à 14:18
Personne n'a de solutions ? 
0
Rejoignez-nous