Πώς μετατρέπω μια συμβολοσειρά σε ακέραιο αριθμό στη Visual Basic;

Πώς μετατρέπω μια συμβολοσειρά σε ακέραιο αριθμό; Να τι δοκίμασα:

Price = CInt(Int(txtPrice.Text))

Έβγαλα το Int και πάλι πήρα μια εξαίρεση.

Λύση

Χρήση

Convert.toInt32(txtPrice.Text)

Αυτό προϋποθέτει VB.NET.

Κρίνοντας από το όνομα "txtPrice", πραγματικά δεν θέλετε ένα Integer αλλά ένα Decimal. Έτσι, αντί να χρησιμοποιήσετε:

Convert.toDecimal(txtPrice.Text)

Αν ισχύει αυτό, βεβαιωθείτε ότι οτιδήποτε αναθέτετε σε αυτό είναι Δεκαδικός και όχι Ακέραιος.

Σχόλια (5)

Μπορείτε να το δοκιμάσετε:

Dim Price As Integer 
Int32.TryParse(txtPrice.Text, Price) 
Σχόλια (1)

Το Convert.ToIntXX δεν του αρέσει να περνάει συμβολοσειρές δεκαδικών ψηφίων.

Για να είστε ασφαλείς χρησιμοποιήστε

Convert.ToInt32(Convert.ToDecimal(txtPrice.Text))
Σχόλια (0)