scheme - variable - Convertir cadena a entero en esquema
no se puede convertir de string a int c# (2)
Prueba: string->number
> (string->number "1234")
1234
¿Cómo puedo convertir una cadena de dígitos en un entero? Quiero que "365" se convierta a 365.
Lo que he intentado, string-> list luego char-> integer, pero esto devuelve el valor ASCII de ese entero, ¿cómo puedo obtener ese entero?
Por favor ayuda.
Una solución alternativa para analizar enteros a partir de cadenas:
#lang typed/racket
(: numerical-char->integer (-> Char
Integer))
(define (numerical-char->integer char)
(let ([num (- (char->integer char) 48)]) ; 48 = (char->integer #/0)
(if
(or (< num 0) (> num 9))
(raise ''non-numerical-char #t)
num)))
(: string->integer (-> String
Integer))
(define (string->integer str)
(let ([char-list (string->list str)])
(if (null? char-list)
(raise ''empty-string #t)
(foldl
(λ([x : Integer] [y : Integer])
(+ (* y 10) x))
0
(map numerical-char->integer char-list)))))