在Scheme中将字符串转换为整数

在Scheme中将字符串转换为整数,scheme,racket,Scheme,Racket,如何将一串数字转换为整数? 我想把“365”转换成365 我所尝试的, string->list然后char->integer,但这会返回该整数的ASCII值,我如何获得该整数 请帮助。试试:字符串->数字 > (string->number "1234") 1234 从字符串解析整数的另一种解决方案: #lang typed/racket (: numerical-char->integer (-> Char

如何将一串数字转换为整数? 我想把“365”转换成365

我所尝试的, string->list然后char->integer,但这会返回该整数的ASCII值,我如何获得该整数


请帮助。

试试:
字符串->数字

> (string->number "1234")
1234

从字符串解析整数的另一种解决方案:

#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)))))
#lang打字/拍子
(:数字字符->整数(->字符)
整数)
(定义(数字字符->整数字符)
(let([num(-(char->integer char)48)];48=(char->integer#\0)
(如果
(或(num 9))
(提高“非数字字符”
num)))
(:字符串->整数(->字符串)
整数)
(定义(字符串->整数字符串)
(let([char list(string->list str)])
(如果(空?字符列表)
(升起“空字符串”t)
(福尔德尔)
(λ([x:Integer][y:Integer])
(+(*y 10)x))
0
(映射数字字符->整数字符列表(()())))

(字符串->数字“365”)
可能重复啊哈,我没有尝试这个。我走了很长一段路,无论如何,谢谢相关人士: