Non-decimal radices/Convert: Difference between revisions

added swift
(→‎{{header|Go}}: note the limits of the base argument)
(added swift)
Line 1,964:
val it = 42 : int
</pre>
 
=={{header|Swift}}==
Converting integer to string is easy:
<lang swift>println(String(26, radix: 16)) // prints "1a"</swift>
 
Converting from string to integer is harder:
<lang swift>func digit2int(c: UnicodeScalar) -> Int {
switch c {
case "0"..."9":
return c.value - "0".value
case "a"..."z":
return c.value - "a".value + 10
case "A"..."Z":
return c.value - "A".value + 10
default:
fatalError("invalid digit")
}
}
func string2int(s: String, radix: Int) -> Int {
return map(s.unicodeScalars, digit2int).reduce(0){$0 * radix + $1}
}
println(string2int("1a", 16)) // prints "26"</lang>
 
=={{header|Tcl}}==
Anonymous user