IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

comment faire la conversion sans perdre d info


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 27
    Points : 24
    Points
    24
    Par défaut comment faire la conversion sans perdre d info
    Bonjour,

    j effectuer la lecture a partir d un fichier text d un Double que je transforme au String pour l ecrire dans dans un

    autre fichier text en sortie .mais ce que j obtient c est bizar:

    mes doubles :
    048247000&&048247999!

    résultat dans le fichier texte de sortie:
    048247E7&&048247999!

    mon probleme c est que je veux me debarasser de ce E7 et faire revenir les 000 perdues et merci pour votre aides.

    ma classe java est la suivante:

    package stage;
    import java.io.*;
    import java.util.*;;

    public class CopyFichier extends Exception

    {
    public static void main(String[] args) throws IOException

    {

    FileReader lecteur=null ;
    StreamTokenizer entree=null;
    FileWriter ecrivain=null;
    int compt=0;
    String s1,s2;

    try
    {
    lecteur=new FileReader("test.txt");// args[0 c'est le chemin de votre fichier
    entree=new StreamTokenizer(lecteur);
    ecrivain= new FileWriter("copie_modif.txt");
    }
    catch(FileNotFoundException f)
    {
    System.out.println("ERREUR D'OUVERTURE DU FICHIER");
    f.printStackTrace();
    }
    catch(NullPointerException e)
    {
    e.printStackTrace();
    }
    int ch1=' ';
    int ch2='/';
    int ch3='0';
    entree.ordinaryChar(ch1);
    entree.ordinaryChar(ch2);
    entree.ordinaryChar(ch3);
    while(entree.nextToken()!=StreamTokenizer.TT_EOF)
    {
    entree.eolIsSignificant(true);
    switch (entree.ttype)
    {
    case StreamTokenizer.TT_EOL:

    ecrivain.write("\r\n");
    //System.out.println("aaa");
    break;
    case StreamTokenizer.TT_NUMBER:

    String s = Double.toString(entree.nval);
    int j=s.indexOf((int)'.');
    if (j!=0)
    {
    s1=s.substring(0,j);
    if (j+2<s.length())
    {
    s2=s.substring(j+1, s.length());
    s=s1+s2;
    }
    else
    s=s1;
    }
    if (s.length()>7)
    {
    int i =s.indexOf((int)'E');
    if (i!=0)
    {
    s1=s.substring(0, i);
    s=s1;
    }
    }
    //System.out.println("avant:" + s);
    //s=s.replaceFirst("44", "544");
    //System.out.println("lapres:" + s);
    ecrivain.write(s);
    //System.out.println("lu nombre:" + i);
    break;
    case StreamTokenizer.TT_WORD:

    s1=entree.sval;
    //s1=s1.replaceAll("aaa", "*****");
    ecrivain.write(s1);
    //System.out.println ("lu mot:" +entree.sval);
    break;
    default:
    s = String.valueOf((char)entree.ttype);
    ecrivain.write(s);
    //System.out.println ("lu autre:" +(char)i);
    break;
    }

    }

    System.out.println("la nombre vaut "+compt);
    lecteur.close();
    ecrivain.close();

    }
    }

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    SVP vous voulez pas me répondre pourquoi? et pourtant j ai un grand problème avec ce que je vient de poser.

  3. #3
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour
    En tu t'enerves parce qu'on ne t'a pas vite repondu .
    Pour commencer utilises les balises 'code' # dans l'editeur au lieu de balises 'quote'(citation)

    Je ne comprend pas pourquoi tu lis Double--->String------>Double en utilisant une fichier texte pour ne pas utiliser simplement un InputStream par exemple ?
    ++

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    SALUT
    ET BIEN TOUS SIMPLEMENT PARCEQUE J UTILISE EN ENTREE DES GRANDS FICHIERS DE TEXT OU IL Y A DES LETTRES ET DES CHEFFRES ;
    ET BIEN JE PEUX VOUS DIR QU APRES DEUX JOUR DE CASSE TETE LA SOULUTION ETAIT TRES SIMPLE C EST DE CONSEDERE QUE TOUS EST TETTRE CAD L INTERVALLE DE 0 A 9

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/06/2008, 15h07
  2. Comment faire un Iframe sans la barre horizontale ?
    Par Alexandrebox dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/04/2007, 23h16
  3. Réponses: 4
    Dernier message: 28/07/2006, 11h26
  4. Réponses: 14
    Dernier message: 27/07/2006, 14h40
  5. [Message] Comment faire un prompteur sans bruit
    Par Kylen dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 26/08/2005, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo