none
Nachkommastellen anstatt 0,1E-05 RRS feed

  • Frage

  • Moin!

    Ich melde mich auch mal wieder hier :D

    Ich wüsste mal gerne ob es möglich ist anstatt 0,1E-05 einfach 0,00001 anzuzeigen.
    Auch für andere Rechnungen bräuchte ich das. Hab jetzt aber nichts gefunden was
    mir hilft...

    Vielleicht könnt ihr mir helfen. Ich verzweifel gleich.

    LG
    Dominik

    Mittwoch, 8. Dezember 2010 14:11

Antworten

  • Hallo Dominik,

    Schau Dir mal den folgenden Code an. Vielleicht kann er Dir weiterhelfen.

     

    Public Class Form1
      
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim rech As Double
            Dim myValue As Double
      
            If Not Double.TryParse(TextBox1.Text, myValue) Then
                Stop
            Else
                rech = myValue / 100000
      
                Console.WriteLine(String.Format("{0:N7}", rech))
      
                ListBox1.Items.Add(String.Format("{0:N7}", rech) & " bar")
      
            End If
      
        End Sub
    End Class

     

    Lies auch:

    Double.TryParse Method

    String.Format Method

    Grüße,

    Robert

    • Als Antwort vorgeschlagen Elmar Boye Mittwoch, 8. Dezember 2010 16:42
    • Als Antwort markiert Robert Breitenhofer Dienstag, 21. Dezember 2010 09:29
    Mittwoch, 8. Dezember 2010 15:24

Alle Antworten

  • Hallo Dominik,

    du kannst eine Ausgabe auf ein bestimmtes Format vordefinieren wie in diesem Beispiel:

    Me .TextBox1.Text = Format(Round, "0.0000" ) 
    

    Die Variable Round sollte dann als Double deklariert sein.

    Normal ist dein Problem allerdings nicht, denn die hier beschriebene Methode (hier 4 Nachkommastellen) dient eigentlich dazu, zu lange Ergebnisse auf überschaubare order "normale" Länge zu kürzen. Die Ausgabe 0,1E-05 lässt eher auf einen anderen Fehler vermuten. Dazu müsste man aber mal einen Blick in den vorhandenen Code werfen.

    Tendenziell würde ich jedoch sagen, dass du erst mal die Variable als Double deklarierts und  für die Ausgabe hinterher auch die Convertierung zu String nicht vergisst.


    Liebe Grüße Stefan | Cheers Stefan I'm using VB 2008 Express
    Mittwoch, 8. Dezember 2010 14:23
  • Hallo Giftzwockel,

    Das was du beschrieben hast habe ich. Hier mal kurz das Stückchen Quellcode:

    Dim rech As Double         
    rech = (CDbl(TextBox1.Text) / 100000)
    ListBox1.Items.Add(CStr(rech) & " bar")

    Das ist jetzt nur der Codeausschnitt. Wird eben in der ListBox "0,1E-05" angezeigt.
    Wenn du willst, kann ich das ganze Projekt hochladen.
    Nur ich möchte eben dass hier die Nachkommastellen angezeigt werden, maximal 7...

    Mittwoch, 8. Dezember 2010 14:40
  • Hallo Dominik,

    Schau Dir mal den folgenden Code an. Vielleicht kann er Dir weiterhelfen.

     

    Public Class Form1
      
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim rech As Double
            Dim myValue As Double
      
            If Not Double.TryParse(TextBox1.Text, myValue) Then
                Stop
            Else
                rech = myValue / 100000
      
                Console.WriteLine(String.Format("{0:N7}", rech))
      
                ListBox1.Items.Add(String.Format("{0:N7}", rech) & " bar")
      
            End If
      
        End Sub
    End Class

     

    Lies auch:

    Double.TryParse Method

    String.Format Method

    Grüße,

    Robert

    • Als Antwort vorgeschlagen Elmar Boye Mittwoch, 8. Dezember 2010 16:42
    • Als Antwort markiert Robert Breitenhofer Dienstag, 21. Dezember 2010 09:29
    Mittwoch, 8. Dezember 2010 15:24