Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Java » Zahlen (long) in String wandeln

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 < [ 2 ]
000
24.07.2003, 20:13 Uhr
worst_case



Abend,

habe zwar ein gutes Buch, finde aber leider nicht die Funktion mit der ich eine Zahl (int/long usw) in eine String wandeln kann.
Zum testen möchte ich über "showstatus" Zwischenergebnisse ausgeben.
"String.parseString(int)" gibt es vermutlich nicht

Danke
worst_case

Dieser Post wurde am 02.08.2003 um 12:42 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.07.2003, 21:13 Uhr
Pablo
Supertux
(Operator)


Sicher gibt es, du kannst die toString() Funktion der Wrapperklasse Integer nehmen, aber du kannst int mit Strings verketten.


C++:
import java.io.*;
class IntToString
{
    public static void main(String[] args)
    {
         String s = "Die Zahl drei (" + 3 + ")";
         String x = "Eine andere Zahl " + new Integer(33).toString();
         String y = "Hallo du 2*2 = " + new Integer(2*2);
         System.out.println(s);
         System.out.println(x);
         System.out.println(y);
    }
}



Ausgabe

Die Zahl drei (3)
Eine andere Zahl 33
Hallo du 2*2 = 4

--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.07.2003, 06:18 Uhr
worst_case



Morgen Pablo,

die Funktion geht bei mir nicht.
Der Compiler mault ständig wegen "new" bzw. "Integer"
-> "symbol: method Integer (int)
Die java.io.* hatte ich schon eingebunden


Der Code sieht so aus.

stringwert = "Test" + Integer(intwert);
oder
stringwert = "Test" + Integer(intwert).toString();

Was kann das sein ?

worst_case

Dieser Post wurde am 25.07.2003 um 06:19 Uhr von worst_case editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.07.2003, 07:08 Uhr
Pablo
Supertux
(Operator)


Mit wechen OS arbeitest du? Ich habe den Programmcode von da oben unter SuSE Linux ausgeführt und das hat es funktioniert. Die java.io.* Zeile ist /glaube ich) nicht so wichtig, denn ich kann auch ohne sie das Programm kompilieren.

Wenn du nur Integer(intwert) hast, dann nimmt der Compilier an, dass es sich um eine Funktion namens Integer handelt, und die hast du nicht, deshlab meckert er nur rum. Mit new sagst du, dass der Compilier den Standardkonstruktor der Klasse Integer.

In deinem Fall würde nur mit new Funktionieren (nehme ich an, anders hat bei mir net funktioniert!). Es könnte sein (ich hab in der API geguckt), dass du import java.lang.Integer bzw import java.lang.* hinuifügen, damit die Warpperklasse tatsächlich gefunden wird.

Ich hab auch etwas schönes in der API entdeckt. Ich glaube, dass man Integer nicht braucht, das habe ich noch nicht getestet. Die Klasse String verfügt über die Funktionen:


Code:
    String valueOf(boolean);
    String valueOf(char);
    String valueOf(char[], int, int);
    String valueOf(char[]);
    String valueOf(double);
    String valueOf(float);
    String valueOf(int);
    String valueOf(long);
    String valueOf(Object);


Die habe ich eigentlich im Source Code der Klasse java.lang.Integer entdeckt.

Das ist ein Stück von Code der Klasse String

C++:
    /**
     * Returns the string representation of the <code>int</code> argument.
     * <p>
     * The representation is exactly the one returned by the
     * <code>Integer.toString</code> method of one argument.
     *
     * @param   i   an <code>int</code>.
     * @return  a newly allocated string containing a string representation of
     *          the <code>int</code> argument.
     * @see     java.lang.Integer#toString(int, int)
     */

    public static String valueOf(int i) {
        return Integer.toString(i, 10);
    }


Wie ich hier sehe, dann wird new nicht benutzt. Das ist der Kopf der Klasse String

C++:
/*
* @(#)String.java    1.130 01/02/09
*
* Copyright 1994-2001 Sun Microsystems, Inc. All Rights Reserved.
*
* This software is the proprietary information of Sun Microsystems, Inc.  
* Use is subject to license terms.
*
*/


package java.lang;

import java.util.Hashtable;
import java.util.Locale;
import java.util.Comparator;
import sun.io.ByteToCharConverter;
import sun.io.CharToByteConverter;
import java.io.CharConversionException;
import java.io.UnsupportedEncodingException;
import java.io.ObjectStreamClass;
import java.io.ObjectStreamField;
import java.lang.ref.SoftReference;



Ich nehme an, jetzt sollte aber funktionieren.

Hast du schon ohne solche Funktionien versucht? So wie

Code:
String str = "Test" + 1 + ": Hat's geklappt! ";


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 25.07.2003 um 07:12 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.07.2003, 10:54 Uhr
typecast
aka loddab
(Operator)


@ Pablo: Es ist egal mit welchem OS man arbeitet. Den die Sprache Java ist OS unabhängig (gut die VM nicht, aber wenn die Fehlerhaft ist, dann kommen keine Compilerfehler).
Außerdem ist es nicht nötig das package java.lang einzubinden, denn das wird automatische gemacht (es ist so wichtig, das man es bei fast jedem Programm braucht)
--
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
005
25.07.2003, 22:07 Uhr
Pablo
Supertux
(Operator)


Tja, ich weiß, dass es egal ist, ob man Windows, MAC oder Linux benutzt, wenn man Java programmiert. Aber ich hatte schon das Problem, dass mein Java VM in Windows einfach spinnt und nicht tut, was ich will, aber was ich unter Linux kompilieren konnte.

Was mich gewundert hat, ist dass er nicht mit new String kompilieren konnte, obwohl ich es konnte, deshalb habe ich nach dem OS gefragt.

Ich weiß auch, dass man das Package java.lang automatisch geladen wird, ich wollte nur sagen, wo ich die Funktion gefunden hab, falls worst_case den Code von String sehen will.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
27.07.2003, 00:51 Uhr
worst_case



Abend,

heureka... es geht. "Integer(string).toString;"

Warum das es am Anfang nicht geklappt hat, vermutlich ein Schreibfehler.
Seit dem letzten kompilieren funkt es.

Danke
worst_case
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
27.07.2003, 01:28 Uhr
Pablo
Supertux
(Operator)


Hi
ich glaube schon schreibfehler. Aber hast du mit new oder nur Integer(int).toString(); genommen?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
27.07.2003, 09:18 Uhr
worst_case



Morgen,

ohne "new"

worst_case
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
27.07.2003, 12:43 Uhr
Pablo
Supertux
(Operator)


Dann braucht man tatsächlich kein neues Objket zu erzeugen! Vielleicht ist die Funktion statisch.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 27.07.2003 um 12:44 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: