[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Συζητήσεις για τις γλώσσες του dot Net και για του Visual Studio της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
c0d3punk
Honorary Member
Δημοσιεύσεις: 1076
Εγγραφή: 15 Σεπ 2008 22:32
Τοποθεσία: Puerto pollo
Επικοινωνία:

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από c0d3punk » 27 Μαρ 2011 17:05

παίδες θαθελα μια μικρή βοήθεια αν γνωρίζει κάποιος.

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

(δηλαδή αν το αποτέλεσμα π.χ. είναι 0,2344444444444 να γίνεται 0,2344. κάθε φορά έχουμε διαφορετικό νούμερο.

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

βρήκα αυτό και καταλαβαίνω τον τρόπο σκέψεις αλλά δεν γνωρίζω πως να το εκφράσω στην visual basic αυτό ή αν θα μπορούσε να γίνει με κάποιο πλάγιο τρόπο.
Τελευταία επεξεργασία από το μέλος c0d3punk την 27 Μαρ 2011 18:27, έχει επεξεργασθεί 1 φορά συνολικά.
like ants in a colony we do our share
but there's so many other f****' insects out there || Ανανεωμένα Παρτάλια || biZfind.gr

Άβαταρ μέλους
c0d3punk
Honorary Member
Δημοσιεύσεις: 1076
Εγγραφή: 15 Σεπ 2008 22:32
Τοποθεσία: Puerto pollo
Επικοινωνία:

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από c0d3punk » 27 Μαρ 2011 18:26

το βρήκα! για όποιον ενδιαφέρεται με μια ματιά εδώ.

στην δικιά μου περίπτωση είναι κάπως έτσι:

Κώδικας: Επιλογή όλων

Ημεταβλητήμου.ToString("#0.0000")
like ants in a colony we do our share
but there's so many other f****' insects out there || Ανανεωμένα Παρτάλια || biZfind.gr

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από dva_dev » 27 Μαρ 2011 21:55

Εγώ πάντως θα κοίταγα για κάτι σε truncation ή rounding αναλόγως τι θέλεις να κάνεις (και όπως θα είδες ξαναρωτήσαμε το ίδιο πράγμα και τον προηγούμενο).

http://msdn.microsoft.com/en-us/library/as4h66hd.aspx

Άβαταρ μέλους
c0d3punk
Honorary Member
Δημοσιεύσεις: 1076
Εγγραφή: 15 Σεπ 2008 22:32
Τοποθεσία: Puerto pollo
Επικοινωνία:

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από c0d3punk » 27 Μαρ 2011 22:21

dva_dev δεν ήθελα στρογγυλοποίηση (και από ότι κατάλαβα και ο άλλος το ίδιο).

αλλά τώρα που βλέπω και το link που έδωσες μπορείς να κάνεις στρογγυλοποίηση μετά την υποδιαστολή ώστε να μειωθεί το πλήθος των ψηφίων..... ευχαριστώ, πολύ χρήσιμο.
like ants in a colony we do our share
but there's so many other f****' insects out there || Ανανεωμένα Παρτάλια || biZfind.gr

Silaxim
Δημοσιεύσεις: 6
Εγγραφή: 01 Απρ 2011 12:04

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από Silaxim » 01 Απρ 2011 12:17

Μια απολη ερώτηση βρε παιδιά! Αφού εμφανίζω σε 2 textbox 2 διαφορετικούς δεκαδικούς αριθμούς, θελω μετά να τους προσθέσω και να δώσω το αποτέλεσμα σε ενα label. Δίνω την πρόσθεση με Val και για τα 2 text box.... αλλά το αποτέλεσμα που παίρνω είναι ακέραιος. Δηλαδη δεν προσθέτει και τα δεκαδικά ψηφία αλλά μόνο τα ακέραια. Help me pls....

Άβαταρ μέλους
c0d3punk
Honorary Member
Δημοσιεύσεις: 1076
Εγγραφή: 15 Σεπ 2008 22:32
Τοποθεσία: Puerto pollo
Επικοινωνία:

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από c0d3punk » 01 Απρ 2011 14:17

Silaxim έγραψε:Μια απολη ερώτηση βρε παιδιά! Αφού εμφανίζω σε 2 textbox 2 διαφορετικούς δεκαδικούς αριθμούς, θελω μετά να τους προσθέσω και να δώσω το αποτέλεσμα σε ενα label. Δίνω την πρόσθεση με Val και για τα 2 text box.... αλλά το αποτέλεσμα που παίρνω είναι ακέραιος. Δηλαδη δεν προσθέτει και τα δεκαδικά ψηφία αλλά μόνο τα ακέραια. Help me pls....
Silaxim καλό θα ήταν να έκανες νέο thread αλλά αν το δει κάποιος mod ας το μετακινήσει.

αν θέλεις δώσε λίγο τον κώδικα αλλιώς μήπως έχεις ορίσει την μεταβλητή σου να είναι integer? δοκίμασε να την αλλάξεις σε single.
like ants in a colony we do our share
but there's so many other f****' insects out there || Ανανεωμένα Παρτάλια || biZfind.gr

Silaxim
Δημοσιεύσεις: 6
Εγγραφή: 01 Απρ 2011 12:04

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από Silaxim » 02 Απρ 2011 16:24

c0d3punk έγραψε:
Silaxim έγραψε:Μια απολη ερώτηση βρε παιδιά! Αφού εμφανίζω σε 2 textbox 2 διαφορετικούς δεκαδικούς αριθμούς, θελω μετά να τους προσθέσω και να δώσω το αποτέλεσμα σε ενα label. Δίνω την πρόσθεση με Val και για τα 2 text box.... αλλά το αποτέλεσμα που παίρνω είναι ακέραιος. Δηλαδη δεν προσθέτει και τα δεκαδικά ψηφία αλλά μόνο τα ακέραια. Help me pls....
Silaxim καλό θα ήταν να έκανες νέο thread αλλά αν το δει κάποιος mod ας το μετακινήσει.

αν θέλεις δώσε λίγο τον κώδικα αλλιώς μήπως έχεις ορίσει την μεταβλητή σου να είναι integer? δοκίμασε να την αλλάξεις σε single.
εδώ είναι ο κώδικας με τις προηγούμενες πράξεις. ΜΕτά σε ενα κουμπί δηλώνω μια label ως double και κάνω την πρόσθεση των 2 προηγούμενων labels με Val... δεν κάνω κάτι λάθος στην δήλωση. απλά μου δίνει ως αποτέλεσμα μόνο ακέραιο....!

Silaxim
Δημοσιεύσεις: 6
Εγγραφή: 01 Απρ 2011 12:04

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από Silaxim » 02 Απρ 2011 16:24

Silaxim έγραψε:
c0d3punk έγραψε:
Silaxim έγραψε:Μια απολη ερώτηση βρε παιδιά! Αφού εμφανίζω σε 2 textbox 2 διαφορετικούς δεκαδικούς αριθμούς, θελω μετά να τους προσθέσω και να δώσω το αποτέλεσμα σε ενα label. Δίνω την πρόσθεση με Val και για τα 2 text box.... αλλά το αποτέλεσμα που παίρνω είναι ακέραιος. Δηλαδη δεν προσθέτει και τα δεκαδικά ψηφία αλλά μόνο τα ακέραια. Help me pls....
Silaxim καλό θα ήταν να έκανες νέο thread αλλά αν το δει κάποιος mod ας το μετακινήσει.

αν θέλεις δώσε λίγο τον κώδικα αλλιώς μήπως έχεις ορίσει την μεταβλητή σου να είναι integer? δοκίμασε να την αλλάξεις σε single.
εδώ είναι ο κώδικας με τις προηγούμενες πράξεις. ΜΕτά σε ενα κουμπί δηλώνω μια label ως double και κάνω την πρόσθεση των 2 προηγούμενων labels με Val... δεν κάνω κάτι λάθος στην δήλωση. απλά μου δίνει ως αποτέλεσμα μόνο ακέραιο....!


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim First13 As Double, W1 As Double, Fpa1 As Double
First13 = Val(TextBox1.Text)
W1 = Val(Label4.Text)
Fpa1 = Val(Label5.Text)

Label4.Text = First13 / 1.13
Label5.Text = First13 - Label4.Text

TextBox3.Text = Label4.Text


End Sub


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Second23 As Double, W2 As Double, Fpa2 As Double, W3 As Double

Second23 = Val(TextBox2.Text)
W2 = Val(Label8.Text)
Fpa2 = Val(Label9.Text)

Label8.Text = Second23 / 1.23
Label9.Text = Second23 - Label8.Text

TextBox4.Text = Label8.Text

End Sub

Άβαταρ μέλους
c0d3punk
Honorary Member
Δημοσιεύσεις: 1076
Εγγραφή: 15 Σεπ 2008 22:32
Τοποθεσία: Puerto pollo
Επικοινωνία:

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από c0d3punk » 02 Απρ 2011 19:24

κοίτα με μπέρδεψε ο κώδικας που έδωσες γιατί δεν βλέπω να σχετίζεται με το αρχικό σου ερώτημα. τον έβαλα σε μια φόρμα όπως φαίνεται και στη φωτογραφία της Form1 που έχω επισυνάψει.

το αποτέλεσμα που δίνει είναι δεκαδικοί αριθμοί. οπότε είσαι ok εδώ.

στην δεύτερη φωτογραφία σου επισυνάπτω μια άλλη υποθετική Form2 που έφτιαξα και προσθέτει τα δύο textboxes. πάρε και τον κώδικα:

Κώδικας: Επιλογή όλων

Public Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim text1 As Single, text2 As Single

        text1 = TextBox1.Text
        text2 = TextBox2.Text


        Label1.Text = text1 + text2

    End Sub
End Class
αν δηλώσω τις μεταβλητές μου σαν Double μου δίνουν ακέραιο στην πρόσθεση. αν όμως τις δηλώσω σαν Single μου δίνουν κανονικά δεκαδικό αριθμό. Οπότε αυτό είναι το κλειδί πιστεύω.

Δεν σου έχω κάνει την λύση αυτή καθ’ αυτή απλά δοκίμασε με αυτό που σου δίνω να την προσαρμόσεις στα στοιχεία της form σου.
Συνημμένα
form.jpg
Form1 με τον κώδικά σου.
form.jpg (13.98 KiB) Προβλήθηκε 25094 φορές
form2.jpg
Η δικιά μου Form2.
form2.jpg (9.13 KiB) Προβλήθηκε 25094 φορές
like ants in a colony we do our share
but there's so many other f****' insects out there || Ανανεωμένα Παρτάλια || biZfind.gr

Silaxim
Δημοσιεύσεις: 6
Εγγραφή: 01 Απρ 2011 12:04

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από Silaxim » 04 Απρ 2011 15:28

c0d3punk έγραψε: Δεν σου έχω κάνει την λύση αυτή καθ’ αυτή απλά δοκίμασε με αυτό που σου δίνω να την προσαρμόσεις στα στοιχεία της form σου.
Σε ευχαριστώ πάρα πολύ. δούλεψε. Το λάθος μου ήταν, ότι χρησιμοποιούσα το Val για τα Text boxes τα οποία δήλωνα ως single....! Ίσως γι αυτο μου επέστρεφε ακέραιο...! Και για του λόγου το αληθές κοίτα όλο τον κώδικα... γραμμένο τελικά όπως μου είπες...:

Public Class InvPrep





Private Sub InvPrep_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim First13 As Double, W1 As Double, Fpa1 As Double, R1 As Single
First13 = Val(TextBox1.Text)
W1 = Val(Label4.Text)
Fpa1 = Val(Label5.Text)
R1 = Val(TextBox3.Text)
Label4.Text = First13 / 1.13
Label5.Text = First13 - Label4.Text

TextBox4.Text = Label4.Text


End Sub


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Second23 As Double, W2 As Double, Fpa2 As Double, R2 As Single
Second23 = Val(TextBox2.Text)
W2 = Val(Label8.Text)
Fpa2 = Val(Label9.Text)
R2 = Val(TextBox4.Text)
Label8.Text = Second23 / 1.23
Label9.Text = Second23 - Label8.Text

TextBox3.Text = Label8.Text

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
End
End Sub

Private Sub Label12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label12.Click

End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
TextBox1.Text = ""
Label4.Text = ""
Label5.Text = ""
TextBox2.Text = ""
Label8.Text = ""
Label9.Text = ""
Label12.Text = ""
Label13.Text = ""

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim R1 As Single, R2 As Single

R1 = TextBox3.Text
R2 = TextBox4.Text

Label12.Text = R1 + R2

End Sub
End Class






Εγώ έβαζα στην τελευταία υπορουτίνα....


Dim R1 As Single, R2 As Single

R1 = Val(TextBox3.Text)
R2 = Val(TextBox4.Text)

Label12.Text = R1 + R2


Και παλι χίλια ευχαριστώ. Είσαι θεός. Με έβγαλες απο πολύ σπαζοκεφαλιά...! Να σε καλά φίλε μου....

Άβαταρ μέλους
c0d3punk
Honorary Member
Δημοσιεύσεις: 1076
Εγγραφή: 15 Σεπ 2008 22:32
Τοποθεσία: Puerto pollo
Επικοινωνία:

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από c0d3punk » 05 Απρ 2011 22:36

χαρά μου και μπράβο σου :-)
like ants in a colony we do our share
but there's so many other f****' insects out there || Ανανεωμένα Παρτάλια || biZfind.gr

Silaxim
Δημοσιεύσεις: 6
Εγγραφή: 01 Απρ 2011 12:04

[SOLVED] Αριθμός χαρακτήρων μετά την υποδιαστολή

Δημοσίευση από Silaxim » 08 Απρ 2011 16:00

c0d3punk έγραψε:χαρά μου και μπράβο σου :-)
Άλλη μία βοήθεια εάν σου είναι εύκολο.

Θέλω σε καθε κλίκ ενός κουμπιού να προσθέτω συν 1 σε μια ετικέτα.
δηλαδη να δινω αριθμο ποσοτητας σε κατι...
ενα κλικ 1 δευτερο 2 και ουτω καθεξής...
πως μπορώ να το κάνω αυτό;...
αυτο τον αριθμο θα τον πολλαπλασιάζω με μια τιμη...! δλδ θελω να δινω μόνο αριθμο στην ετικέτα .

Απάντηση

Επιστροφή στο “dot Net και Visual Studio”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες