नंबर स्ट्रिंग स्ट्रिंगला नंबर इंटमध्ये रूपांतरित करा, पायथनमध्ये फ्लोट करा

व्यवसाय

जर तुम्हाला पायथनमधील संख्यांची स्ट्रिंग अंकीय मूल्यांमध्ये रूपांतरित करायची असेल, तर पूर्णांकांमध्ये रूपांतरित करण्यासाठी int() वापरा आणि फ्लोटिंग पॉइंट क्रमांकांमध्ये रूपांतरित करण्यासाठी float() वापरा.

नमुना कोडसह येथे खाली स्पष्ट केले आहे.

  • मूलभूत वापर
    • अंकीय स्ट्रिंग्स पूर्णांकांमध्ये रूपांतरित करा:int()
    • संख्यांची स्ट्रिंग फ्लोटिंग पॉइंट संख्यांमध्ये रूपांतरित करा:float()
  • विशेष वापर
    • बायनरी, ऑक्टल आणि हेक्साडेसिमल नोटेशनमधील स्ट्रिंगचे संख्यांमध्ये रूपांतर करते
    • घातांकीय नोटेशनमधील स्ट्रिंग्सना संख्यात्मक मूल्यांमध्ये रूपांतरित करते
    • पूर्ण-रुंदीच्या अरबी अंकाच्या तारांना संख्यांमध्ये रूपांतरित करा
    • चीनी वर्णांची स्ट्रिंग संख्यांमध्ये रूपांतरित करा

अंकीय मूल्य स्ट्रिंगमध्ये रूपांतरित करण्यासाठी, str() वापरा.

जर तुम्हाला संख्या किंवा स्ट्रिंग्स विविध फॉरमॅटमध्ये रूपांतरित करायचे असतील, तर format() फंक्शन किंवा स्ट्रिंग पद्धत str.format() वापरा. नंतर तुम्ही 0-फिल, बायनरी, ऑक्टल, हेक्साडेसिमल, एक्सपोनेन्शियल नोटेशन इ. मध्ये रूपांतरित करू शकता. तपशीलांसाठी पुढील लेख पहा.

हे स्ट्रिंगच्या सूचीला संख्यांच्या सूचीमध्ये रूपांतरित देखील करू शकते. तपशीलांसाठी पुढील लेख पहा.

अंकीय स्ट्रिंग्स पूर्णांकांमध्ये रूपांतरित करा:int()

संख्यांच्या स्ट्रिंगला पूर्णांक प्रकार क्रमांकांमध्ये रूपांतरित करण्यासाठी तुम्ही int() वापरू शकता.

print(int('100'))
print(type(int('100')))
# 100
# <class 'int'>

दशांश, दशांश बिंदूंसह, आणि स्वल्पविरामाने विभक्त केलेल्या स्ट्रिंगचा परिणाम व्हॅल्यूएररमध्ये होईल.

# print(int('1.23'))
# ValueError: invalid literal for int() with base 10: '1.23'

# print(int('10,000'))
# ValueError: invalid literal for int() with base 10: '10,000'

रिप्लेस() पद्धतीचा वापर करून स्वल्पविराम काढून (रिक्त स्ट्रिंगने बदलून) स्वल्पविराम-विभाजित स्ट्रिंग्स रूपांतरित केले जाऊ शकतात.

print(int('10,000'.replace(',', '')))
# 10000

संख्यांची स्ट्रिंग फ्लोटिंग पॉइंट संख्यांमध्ये रूपांतरित करा:float()

संख्यांच्या स्ट्रिंगला फ्लोटिंग-पॉइंट नंबर प्रकारात रूपांतरित करण्यासाठी फ्लोट() वापरला जाऊ शकतो.

print(float('1.23'))
print(type(float('1.23')))
# 1.23
# <class 'float'>

वगळलेल्या पूर्णांक भागासह स्ट्रिंग्स पूर्णांक भागाला 0 सह पूरक करून रूपांतरित केले जातात.

print(float('.23'))
# 0.23

पूर्णांक स्ट्रिंग्स फ्लोटिंग-पॉइंट नंबरमध्ये देखील रूपांतरित केल्या जातात.

print(float('100'))
print(type(float('100')))
# 100.0
# <class 'float'>

बायनरी, ऑक्टल आणि हेक्साडेसिमल नोटेशनमधील स्ट्रिंगचे संख्यांमध्ये रूपांतर करते

जर मूलांक int() साठी दुसरा आर्ग्युमेंट म्हणून निर्दिष्ट केला असेल, तर स्ट्रिंगला बायनरी, ऑक्टल, हेक्साडेसिमल इ. मानून पूर्णांक इंटमध्ये रूपांतरित केले जाऊ शकते.

print(int('100', 2))
print(int('100', 8))
print(int('100', 16))
# 4
# 64
# 256

मागील उदाहरणांप्रमाणे, वगळल्यास, संख्या दशांश संख्या मानली जाते.

print(int('100', 10))
print(int('100'))
# 100
# 100

मूलांक 0 वर सेट केल्यास, रूपांतरण स्ट्रिंग उपसर्गावर आधारित असेल. स्ट्रिंग उपसर्गांसाठी खाली पहा.

  • 0b
    • 0B
  • 0o
    • 0O
  • 0x
    • 0X
print(int('0b100', 0))
print(int('0o100', 0))
print(int('0x100', 0))
# 4
# 64
# 256

उपसर्ग आणि हेक्स अक्षरे एकतर अपरकेस किंवा लोअरकेस असू शकतात.

print(int('FF', 16))
print(int('ff', 16))
# 255
# 255

print(int('0xFF', 0))
print(int('0XFF', 0))
print(int('0xff', 0))
print(int('0Xff', 0))
# 255
# 255
# 255
# 255

बायनरी, ऑक्टल आणि हेक्साडेसिमल संख्या आणि स्ट्रिंग्सच्या आंतरपरिवर्तनाबद्दल माहितीसाठी पुढील लेख पहा.

घातांकीय नोटेशनमधील स्ट्रिंग्सना संख्यात्मक मूल्यांमध्ये रूपांतरित करते

एक्सपोनेन्शिअल नोटेशनमधील स्ट्रिंग्स फ्लोट () सह थेट फ्लोट प्रकारात रूपांतरित केल्या जाऊ शकतात.

print(float('1.23e-4'))
print(type(float('1.23e-4')))
# 0.000123
# <class 'float'>

print(float('1.23e4'))
print(type(float('1.23e4')))
# 12300.0
# <class 'float'>

लोअरकेस ई हे कॅपिटलाइझ ई देखील असू शकते.

print(float('1.23E-4'))
# 0.000123

पूर्ण-रुंदीच्या अरबी अंकाच्या तारांना संख्यांमध्ये रूपांतरित करा

पूर्ण-रुंदीचे अरबी अंक int() किंवा float() द्वारे थेट संख्यांमध्ये रूपांतरित केले जाऊ शकतात.

print(int('100'))
print(type(int('100')))
# 100
# <class 'int'>

print(float('100'))
print(type(float('100')))
# 100.0
# <class 'float'>

तथापि, जर वजा आणि दशांश पूर्णविराम सारखी चिन्हे पूर्ण-रुंदीचे वर्ण असतील, तर ValueError निर्माण होईल.

# print(float('ー1.23'))
# ValueError: could not convert string to float: '1.23'

संख्या पूर्ण-रुंदीचे वर्ण असल्यास समस्यांशिवाय रूपांतरित केली जाऊ शकतात, परंतु वजा आणि दशांश बिंदू अर्ध-रुंदीचे वर्ण आहेत. रिप्लेस() पद्धतीचा वापर करून पूर्ण-रुंदीचे चिन्ह अर्ध्या-रुंदीच्या चिन्हांसह बदलून रूपांतरण शक्य आहे.

print(float('-1.23'))
# -1.23

print(float('ー1.23'.replace('ー', '-').replace('.', '.')))
# -1.23

चीनी वर्णांची स्ट्रिंग संख्यांमध्ये रूपांतरित करा

युनिकोडडेटा मॉड्यूलमधील unicodedata.numeric() फंक्शन एकल युनिकोड चीनी वर्ण फ्लोटिंग-पॉइंट नंबर प्रकार क्रमांकामध्ये रूपांतरित करण्यासाठी वापरले जाऊ शकते.

जर ते एक अक्षर नसेल तर एक त्रुटी येईल. तसेच, संख्यात्मक नसलेल्या वर्णांमुळे त्रुटी निर्माण होईल.

import unicodedata

print(unicodedata.numeric('五'))
print(type(unicodedata.numeric('五')))
# 5.0
# <class 'float'>

print(unicodedata.numeric('十'))
# 10.0

print(unicodedata.numeric('参'))
# 3.0

print(unicodedata.numeric('億'))
# 100000000.0

# print(unicodedata.numeric('五十'))
# TypeError: numeric() argument 1 must be a unicode character, not str

# print(unicodedata.numeric('漢'))
# ValueError: not a numeric character