Sobes.tech
Junior

Πώς μετατρέπουμε μια συμβολοσειρά σε ακέραιο και το αντίστροφο;

sobes.tech AI

Απάντηση από AI

Για τη μετατροπή μιας συμβολοσειράς σε ακέραιο αριθμό, χρησιμοποιείται το πακέτο strconv, η λειτουργία Atoi ή ParseInt. Για τη μετατροπή ενός ακέραιου σε συμβολοσειρά, επίσης χρησιμοποιείται το πακέτο strconv, η λειτουργία Itoa ή FormatInt.

import "strconv"

func main() {
	// Μετατροπή συμβολοσειράς σε αριθμό
	strNum := "123"
	intNum, err := strconv.Atoi(strNum) // Atoi επιστρέφει int και error
	if err != nil {
		// διαχείριση σφάλματος
	}

	intNum64, err := strconv.ParseInt("456", 10, 64) // ParseInt επιστρέφει int64, βάση, μήκος σε bits
	if err != nil {
		// διαχείριση σφάλματος
	}

	// Μετατροπή αριθμού σε συμβολοσειρά
	numToStr := 789
	strResult := strconv.Itoa(numToStr) // Itoa επιστρέφει string

	num64ToStr := int64(1011)
	strResult64 := strconv.FormatInt(num64ToStr, 10) // FormatInt επιστρέφει string, βάση
}

Βασικές λειτουργίες:

Λειτουργία Περιγραφή Επιστρεφόμενη τιμή Πακέτο
Atoi(s string) Μετατρέπει μια συμβολοσειρά σε δεκαδικό ακέραιο. (int, error) strconv
ParseInt(s string, base int, bitSize int) Μετατρέπει μια συμβολοσειρά σε ακέραιο με την καθορισμένη βάση και μήκος σε bits. (int64, error) strconv
Itoa(i int) Μετατρέπει έναν δεκαδικό ακέραιο σε συμβολοσειρά. string strconv
FormatInt(i int64, base int) Μετατρέπει έναν ακέραιο με το καθορισμένο μήκος σε bits σε συμβολοσειρά με την καθορισμένη βάση. string strconv

Το Atoi είναι μια βολική συντόμευση για το ParseInt(s, 10, 0) με το αποτέλεσμα να μετατρέπεται σε int. Το Itoa είναι μια συντόμευση για το FormatInt(int64(i), 10).

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