Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Δεκαδικά σε Vb.net 2010

Îåêßíçóå áðü ôï ìÝëïò AlKiS. Τελευταία δημοσίευση από το μέλος AlKiS στις 21-04-2011, 23:49. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  18-04-2011, 12:42 65236

    Δεκαδικά σε Vb.net 2010

    Καλησπέρα σε όλους,


    Φτιάχνω ένα πρόγραμμα για ηλεκτρολογία, που θα παίρνει τιμές για R,C,U,f και θα υπολογίζει όλα τα άλλα.

    ( http://img39.imageshack.us/img39/3644/electricalcircuitsformu.jpg )

    Το πρόβλημα είναι όμως ότι ενώ χρησιμοποιώ το Round(Number,Decimals) και ορίζω τα δεκαδικά για το Ι στα 4, συνεχίζει να μου βγάζει αποτέλεσμα (κάτι *10^-5)

    Αυτό δεν με βολεύει καθόλου αφού αν στρογγυλοποιήσουμε το 6*10^-5 αυτό που πρέπει να βγάζει είναι 0.0001 (αφού το  6*10^-5 είναι το 0.00006, στην στρογγυλοποίηση του στα 4 δεκαδικά το τέταρτο γίνεται "1")

    αν θέλετε μπορώ να ανεβάσω ολόκληρο το πρόγραμμα ώστε να το δείτε 


    -Giannis


  •  21-04-2011, 23:25 65307 σε απάντηση της 65236

    Απ: Δεκαδικά σε Vb.net 2010

    Αν  σου βγάζει scientific format κάνε δικό σου format στο string. Π.Χ:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim s As String
    
            s = String.Format( _
                                "exponential notation: {0:e}" & ControlChars.NewLine _
                                    & "4 digits: {0:n4} " & ControlChars.NewLine _
                                    & "5 digits: {0:n5}" & ControlChars.NewLine _
                                    & "{1}", _
                                0.00006, _
                                "δείξε αυτό το string στην θέση του ένα {1}")
        End Sub
    End Class

    Το παραπάνω παράδειγμα δείχνει διαφορετικούς τρόπους που αφορούν την εμφάνιση μίας ποσότητας σε διαφορετικές μορφές. Το format function αντικαθιστά τις παραμέτρους {0} και {1} με αυτές που έχεις δηλώσει στο paramarray. Το {0:e} λέει "αντικατέστησε το 0.00006 με την εκθετική μορφή του". Το {0:n4} και {0:n5} λένε: "Αντικατέστησε το 0.00006 με ένα "κανονικο" νούμερο που έχει round 4 και 5 ψηφία αντίστοιχα".

    Ο τρόπος που εμφανίζονται όλα αυτά τα στοιχεία στην φόρμα σου έχουν άμεση σχέση με το CultureInfo που έχει ο υπολογιστής. Γιά παράδειγμα κάνωντας απεντόμωση (debug :) ) γράψε αυτό στο watch:

    globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator

    Μετά άλλαξε τα regional settings του υπολογιστή σου από Ελληνικά σε αγγλικά και δες ότι το decimal separator έχει αλλάξει. Όλα αυτά ίσως σου φανούν χρήσιμα αν θέλεις η εφαρμογή σου να παίζει σωστά σε υπολογιστές με διαφορετικά Cultures ή διαφορετικές ρυθμίσεις.

  •  21-04-2011, 23:49 65308 σε απάντηση της 65307

    Απ: Δεκαδικά σε Vb.net 2010

    Πάρα πολύ ενδιαφέροντα αυτά! Πιστεύω οτι μόλις έλυσες το πρόβλημά μου.

    πάω να διορθώσω τον κώδικα μου σύμφωνα με αυτά που έγραψες και θα σου πω αν έγινε η δουλειά ή όχι

    -----------------------------------------------------------------------------------------------------------------------


    Ναι, δουλεύει μια χαρά!!

    Τα σπάς φίλε

    Ευχαριστώ πολύ!!!!


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems