Kurze frage zu der Convertierung von Float zu String



  • Hi Leute!

    Ich habe da mal ne frage zu der convertierung von Float zu Sting und wider zurück.

    Ich habe folgenden Code um die convertierung zu machen:

    Font font = ...;
    string fontString = font.FontFamily.Name + "|";
       fontString += font.Size + "|";
       fontString += (long)font.Style;
    ....
    ....
    ....
    try
    {
       string[] tokens = fontString.Split(new char[] { '|' });
       Font font = new Font(tokens[0], Convert.ToSingle(tokens[1]),(FontStyle)Convert.ToInt64(tokens[2]));
    
       return font;
    }
    

    nun kommt mein Problem wenn ich den String in einer DB speichere habe ich als Trenzeichen in dem Float einen . und beim laden aus der DB erwartet er aber als trennzeichen für die nachkomma stellen ein , . Was mache ich falsch?

    MfG
    blind



  • Du musst beim Laden oder beim Speichern die gewünschte "Lokalisierung" angeben (am Besten machst du das bei beidem, damit du keine bösen Überraschungen erlebst):

    fontString += Convert.ToString(font.Size, CultureInfo.InvariantCulture);
    Convert.ToSingle(tokens[1], CultureInfo.InvariantCulture);
    


  • erstens das - und naechste frage ist - warum nicht float.Parse() ?
    gibt es float ueberhaupt ? ich benutz immer double #ggg



  • Ja Float gibt es.

    Und in den Strukturierten Datentypen wie Font ist dieser auch verwendet da er nur mit der einfachen genauigkeit arbeitet und damit weniger Speicherplatz wie double benötigt.

    float.parse()???

    das sagt mir jetz garnichts.

    MfG
    blind

    @O.o werde mal deine Version ausprobieren.



  • solche "typen" wie int, double usw haben alle die funktion Parse() sowie TryParse() - mit try kannst du erst testen lassen ob es nach dem typen convertiert werden kann


Anmelden zum Antworten