Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Java » Umwandeln von String nach Integer (long)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.07.2003, 16:41 Uhr
worst_case



Hi,

ich lese von einem 2. Applet einen String ein. Diesen möchte ich in Integer oder Long umsetzen.
Der String sieht so aus 123,4 ... sollte also kein Problem sein.

Mit "Integer.parseInt(String)" funkt es nicht, obwohl ich so meine Parameter vom Applet umsetze.

Wenn ich obengenannten Wert mit "Integer.parseInt(String)
in einer try/catch Klammer aufrufe dann bricht er mit catch ab.
Warum....und wie kann ich den String anders umwandeln ?

Danke
worst_case

Dieser Post wurde am 20.07.2003 um 16:43 Uhr von worst_case editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.07.2003, 18:04 Uhr
0xdeadbeef
Gott
(Operator)


123,4 ist kein gültiger Integer, sondern eine Fließkommazahl. Lies sie erst mit Double.parseDouble(java.lang.String) ein und caste sie dann in einen Integer.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.07.2003, 21:08 Uhr
worst_case



Abend,

hier mal mein Code.
Ich lese von einem anderen Applet Daten als String ein. Wandle diese als Long um, suche das passende Bit heraus (laut Parameter) und entscheide dann welches Bild (Parameter) angezeigt wird.

Das Prog funkt bis longwert = (long)Double.parseDouble(stringwert);
Wenn ich die Zeile auskommentiere dann wird ein Bild geladen. Wenn ich es aktiviere dann wird kein (warum) Bild geladen.
Ich weiß mir keinen Rat mehr.
Übrigens wenn ich mit showStatus den stringwert ausgebe, dann ist das auch eine Zahl... das sollte also funktionieren.

C++:
import java.awt.*;
import java.applet.*;
import java.net.*;

        public class switch_pic extends Applet implements Runnable
        {
                private String stringwert;
        private long longwert;
                private int bit;
                private int zeilennummer;
                private String servername;  
        private Image img;
        private URL adr0;
        private URL adr1;
        Thread t;
                boolean running;                        
//############################################################################

                public void start()
                {
                        if (t==null)
                           {
                            running = true;
                t = new Thread(this);
                            t.start();
                           }
                }

//############################################################################

        public void stop()
                {
                        if (t!=null)
                           {
                running = false;
                            t = null;
                           }
                }

//############################################################################

                public void run()
                {
                        while(running)
                        {
                                try
                                  {
                                   Thread.sleep(5000);
                                  }
                                catch (Exception e)
                                    {
                    }
                   repaint();
                 }
                }

//############################################################################

                public void paint (Graphics g)
        {
                long bitwert;

                      try {
                  Applet applet = getAppletContext().getApplet(servername);
        
              if (applet != null && applet instanceof server)
                 {      
                  stringwert = ((server)applet).slaveData(zeilennummer);      
                              
                              longwert = (long)Double.parseDouble(stringwert);
                            
                  bitwert = (longwert & (bit << 1));
                  
                  if (bitwert == 0)
                     {
                                  img = getToolkit().getImage(adr0);
                                 }
                  else    
                                 {
                  img = getToolkit().getImage(adr1);
                 }
          
                          if (img !=null)
                     {
                         g.drawImage(img,0,0,this);
                 }  
                             }
              }
              catch (Exception e)
                  {
              showStatus("Fehler bei Applet switch_pic.class");
              }
        
        }
        
//############################################################################

                public void update (Graphics g)
        {
        paint (g);
        }

//############################################################################
                public void init()
             {
                     String param;    
             String pic0;
             String pic1;
            
//############# Servername beschreiben ################################################              
            
                  servername = getParameter("servername");
            
//############# Bildadressen laden ################################################              
            
                     param = getParameter("pic0");
            
             if (param == null)
                {
            pic0 = "/gif/default.gif";
            }
             else
                {
             pic0 = param;
            
            }    
            
            
             param = getParameter("pic1");
            
             if (param == null)
                {
            pic1 = "/gif/default.gif";
            }
             else
                {
             pic1 = param;
            
            }    
            
            
// ########### Zeilennummer ##############################

                     param = getParameter("wert");
               if ( param != null )
                  {
              zeilennummer = (Integer.parseInt(param));   // Zeilennummer            
                  }
               else
                  {
              zeilennummer = 1;          // default Zeile 1
              }
              
// ########### bit Nummer ##############################

                     param = getParameter("bit");
               if ( param != null )
                  {
              bit = (Integer.parseInt(param));   // bitnummer            
                  }
               else
                  {
              bit = 0;          // default bitnummer 0
              }
              
// ########### Adressen fuer Bilder vorbereiten ###########################
                            try
                       {
                               adr0 = new URL (getDocumentBase() , pic0);        
                               adr1 = new URL (getDocumentBase() , pic1);
                      }
                      catch(Exception e)
                      {
                       showStatus("Bildadresse fehlerhaft bei INIT");
                      }        

                   }


        }




Danke
worst_case


Bearbeitung:
Code Tags gesetzt

Dieser Post wurde am 21.07.2003 um 11:08 Uhr von Loddab editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.07.2003, 12:14 Uhr
typecast
aka loddab
(Operator)


Hallo worst_case

das Bild wird deshalb nicht geladen, weil bei der Umwandlung deines Strings ein Fehler auftritt. Dann wird zum catch-Teil deiner Funktion gesprungen. Ich denke es liegt daran, das du der Funktion keinen Double-Wert zuweist. In deinem ersten Post hast du geschrieben, dass du die Zahl 123,4 übergibtst. In Java wird ein Punkt statt Komma geschreiben. Wenn du die zahlen in der Form 123.4 übergibtst, dann müsste es funktionieren.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.07.2003, 21:24 Uhr
worst_case



Hallo,

ja gibt es keine Funktion der es egal ist ob ein Punkt oder ein Komma kommt (es kommt ein Punkt)
So wie bei "C". Der String wird gewandelt bis ein Zeichen ausserhalb 0-9 kommt. Wenn ich dem 123B3 gebe dann bringt die Funktion 123 als Zahl zurück.

Danke
worst_case
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.07.2003, 15:24 Uhr
typecast
aka loddab
(Operator)


So weit ich weiß gibt es keine solche Mehtode. Das kannst ud doch auch ganz einfach selber machen.
Hat es jetzt mit dem Punkt funktioniert?
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.07.2003, 19:12 Uhr
worst_case



Abend,

@Loddab Nein, auch mit Punkt funkt es nicht

worst_case
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
25.07.2003, 11:01 Uhr
typecast
aka loddab
(Operator)


Ok dann lass dir mal die Meldung der Exception die du auffängst ausgeben und poste die mal hier.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
27.07.2003, 00:55 Uhr
worst_case



Hallo,

@Loddab es funkt jetzt, ich habe eine Long eingelesen und es stand 123.0 drin, dann habe ich natürlich ein double eingelesen und die Zahl (ich Held) auf 123 geändert. Somit ging beides schief.

Ich lese jetzt mit Long aus der Datei und habe somit auch eine "Fehlermeldung" wenn das Format nicht stimmt.

Danke
worst_case
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Java ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: