2013-10-15 12 views
15

मैं अंकों की एक स्ट्रिंग को पूर्णांक में कैसे परिवर्तित कर सकता हूं? मैं चाहता हूँ "365" 365स्ट्रिंग में स्ट्रिंग को पूर्णांक में कनवर्ट करना

मैं क्या कोशिश की है, string-> सूची तो char-> पूर्णांक तक परिवर्तित किया है, लेकिन यह है कि पूर्णांक के ASCII मान देता है, मैं कैसे कि पूर्णांक मिल सकता है?

कृपया मदद करें।

+2

'(string-> संख्या" 365 ")' –

+0

धन्यवाद @larsmans :) –

+0

संभव डुप्लिकेट है [ यहां] (http://stackoverflow.com/questions/8956789/read-number-in-or-something-can-turn-string-eg-1-to-integer-1-in-racket/8956947#8956947) – Inaimathi

उत्तर

19

प्रयास करें: string->number

> (string->number "1234") 
1234 
+0

आह, मैंने यह कोशिश नहीं की। मैं कुछ लंबे समय से जा रहा था, वैसे भी धन्यवाद –

+0

संबंधित: http://stackoverflow.com/questions/23027030/how-can-i-convert-a-string-into-exact-number-in-checheme-lisp –

1

एक वैकल्पिक समाधान तार से पूर्णांकों पार्स करने के लिए:

#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))))) 
संबंधित मुद्दे