如何将字符串转换为scheme中的整数列表?

问题描述 投票:1回答:1

如何将一串数字转换为整数列表?我想将“1234”转换为列表1 2 3 4

scheme racket
1个回答
3
投票

您可以使用string->list将字符串转换为字符列表。例如。

(string->list "1234") ; ==> (#\1 #\2 #\3 #\4)

您可以使用char->integer将char转换为ascii值。例如。

(char->integer #\1) ; ==> 49

#\0 ... #\9的Ascii值按升序排列,因此您可以减去数字值:

(- (char->integer #\1) 48) ; ==> 1 

创建一个程序,将这些与map结合起来,你就可以了。

(define (number-string->number-list str)
  (map (lambda (ch) 
         <??>)
       (string->list str)))

(number-string->number-list "1234") ; ==> (1 2 3 4)
© www.soinside.com 2019 - 2024. All rights reserved.