🔄 Type Conversion

Types & Conversion

Int↔String, String↔List, type casting

Type conversion comes up constantly — parsing input, formatting output, working with characters.

Language:
Python
Loading...

All languages — Int ↔ String

JavaScript
// Int → String:
String(42)          // "42"
(42).toString()     // "42"
(42).toString(2)    // "101010" ← Binär!
`${42}`             // "42" (Template Literal)

// String → Int:
parseInt("42")      // 42
parseInt("42.9")    // 42  (truncation)
parseInt("101", 2)  // 5   ← Binär zu Dezimal
Number("42")        // 42
+"42"               // 42  ← Unary plus (schnell)

// ACHTUNG:
parseInt("42abc")   // 42  (parst was es kann)
Number("42abc")     // NaN
TypeScript
// Int → String:
String(42)
(42).toString()

// String → Int:
parseInt("42")
Number("42")
+"42"

// Type checking:
const n: number = Number("42");
if (isNaN(n)) console.log("kein gültiger Wert");
Java
// Int → String:
String.valueOf(42)        // "42"
Integer.toString(42)      // "42"
42 + ""                   // "42"  ← funktioniert, aber weniger klar

// String → Int:
Integer.parseInt("42")    // 42
Integer.parseInt("-7")    // -7

// Char → Int (ASCII):
char c = '5';
int n = c - '0';          // 5  ← Häufig in Interviews!

// Int → Char:
char ch = (char)('0' + 5); // '5'
Go
import (
    "strconv"
    "fmt"
)

// Int → String:
s := strconv.Itoa(42)          // "42"
s2 := fmt.Sprintf("%d", 42)    // "42"

// String → Int:
n, err := strconv.Atoi("42")   // n=42, err=nil
if err != nil { /* kein gültiger int */ }

// Rune → Int (ASCII):
c := '5'
n2 := int(c - '0')             // 5
C++
#include <string>

// Int → String:
string s = to_string(42);      // "42"

// String → Int:
int n = stoi("42");            // 42
long l = stol("42");           // long
// stoi wirft exception bei ungültigem Input!

// Char → Int (ASCII):
char c = '5';
int n2 = c - '0';              // 5  ← Häufig in Interviews!

// Int → Char:
char ch = '0' + 5;             // '5'