Bonjour,

J'ai un problème de conversion. Je n'arrive pas à convertir une chaine de caractère et de le mettre en float. Pourtant les outils sont là pour le faire, je parle de float.Parse(la string); mais il me dit que ma string n'est pas dans le bon format???

Code : Sélectionner tout - Visualiser dans une fenêtre à part
float a = float.Parse("1.718257");
Ne fonctionne pas, ca me donne une erreur "Input string was not in a correct format." C'est un FormatException

Je cherche c'est quoi le problème et je n'arrive pas à trouver. J'ai essayer d'ajouter un f à la fin -> "1.718257f" et ca ne marche pas non plus. Je trouve ca bizarre, il y a de quoi qui m'échappe.

Ce que je veut réussir à faire c'est de lire dans un fichier texte des coordonnées x,y,z. Je les prends les 3 sur une ligne et je les sépares avec un espace blanc pour les mettres dans un tableau de string. À partir de là je vais les convertirs en float...Malheureusement ca marche pas et ca me bloque...Une niaiserie!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
            /* Read the number of vertice */
            stringBuffer = reader.ReadLine();
            nbVertice = int.Parse(stringBuffer);
 
            /* Read all vertices information */
            vertices = new float[nbVertice * 3];
            for (int i = 0,cmpt = 0; i < nbVertice; i++)
            {
                stringBuffer = reader.ReadLine();
                token = stringBuffer.Split(' ');
                vertices[cmpt++] = float.Parse(token[1]);  // x  <-- Problème
                vertices[cmpt++] = float.Parse(token[2]);  // y
                vertices[cmpt++] = float.Parse(token[3]);  // z
            }
Merci de m'aider

DestinyWar45