在Scheme中将字符串转换为整数
如何将一串数字转换为整数? 我想把“365”转换成365 我所尝试的, string->list然后char->integer,但这会返回该整数的ASCII值,我如何获得该整数在Scheme中将字符串转换为整数,scheme,racket,Scheme,Racket,如何将一串数字转换为整数? 我想把“365”转换成365 我所尝试的, string->list然后char->integer,但这会返回该整数的ASCII值,我如何获得该整数 请帮助。试试:字符串->数字 > (string->number "1234") 1234 从字符串解析整数的另一种解决方案: #lang typed/racket (: numerical-char->integer (-> Char
请帮助。试试:
字符串->数字
> (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”)
可能重复啊哈,我没有尝试这个。我走了很长一段路,无论如何,谢谢相关人士: