नम्बर स्ट्रिङलाई नम्बर इन्टमा रूपान्तरण गर्नुहोस्, पाइथनमा फ्लोट गर्नुहोस्

व्यापार

यदि तपाइँ पाइथनमा संख्याको स्ट्रिङलाई संख्यात्मक मानहरूमा रूपान्तरण गर्न चाहनुहुन्छ भने, int() लाई पूर्णांकमा रूपान्तरण गर्न र फ्लोट () लाई फ्लोटिंग पोइन्ट नम्बरहरूमा रूपान्तरण गर्न प्रयोग गर्नुहोस्।

यहाँ नमूना कोड सहितको व्याख्या गरिएको छ।

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

संख्यात्मक मानलाई स्ट्रिङमा रूपान्तरण गर्न, str() प्रयोग गर्नुहोस्।

यदि तपाइँ संख्याहरू वा स्ट्रिङहरूलाई विभिन्न ढाँचाहरूमा रूपान्तरण गर्न चाहनुहुन्छ भने, format() प्रकार्य वा स्ट्रिङ विधि str.format() प्रयोग गर्नुहोस्। त्यसपछि तपाईले ०-फिल, बाइनरी, अक्टल, हेक्साडेसिमल, एक्सपोनेन्सियल नोटेशन, आदिमा रूपान्तरण गर्न सक्नुहुन्छ। विवरणहरूको लागि निम्न लेख हेर्नुहोस्।

यसले स्ट्रिङहरूको सूचीलाई संख्याहरूको सूचीमा रूपान्तरण गर्न सक्छ। विवरणका लागि निम्न लेख हेर्नुहोस्।

संख्यात्मक स्ट्रिङहरूलाई पूर्णांकमा रूपान्तरण गर्नुहोस्:int()

तपाईले int() लाई संख्याको स्ट्रिङलाई पूर्णांक प्रकारको संख्यामा रूपान्तरण गर्न सक्नुहुन्छ।

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

दशमलव, दशमलव बिन्दुहरू सहित, र अल्पविरामद्वारा छुट्याएका स्ट्रिङहरूले ValueError को परिणाम दिन्छ।

# 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'>

मेटाइएका पूर्णांक भाग भएका स्ट्रिङहरूलाई ० सँग पूर्णाङ्कको भागलाई पूरक बनाएर रूपान्तरण गरिन्छ।

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

पूर्णांक स्ट्रिङहरू पनि फ्लोटिंग-पोइन्ट नम्बरहरूमा रूपान्तरण हुन्छन्।

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

बाइनरी, अक्टल र हेक्साडेसिमल सङ्केतका स्ट्रिङहरूलाई सङ्ख्याहरूमा रूपान्तरण गर्छ

यदि रेडिक्सलाई int() मा दोस्रो आर्गुमेन्टको रूपमा निर्दिष्ट गरिएको छ भने, स्ट्रिङलाई बाइनरी, अक्टल, हेक्साडेसिमल, आदिको रूपमा विचार गरेर पूर्णांक 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

यदि रेडिक्स ० मा सेट गरिएको छ भने, रूपान्तरण स्ट्रिङ उपसर्गमा आधारित हुन्छ। स्ट्रिङ उपसर्गहरूको लागि तल हेर्नुहोस्।

  • 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'>

लोअरकेस ई पनि क्यापिटलाइज्ड E हुन सक्छ।

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() प्रकार्यलाई unicodedata मोड्युलमा एकल युनिकोड चिनियाँ क्यारेक्टरलाई फ्लोटिंग-पोइन्ट नम्बर टाइप नम्बरमा रूपान्तरण गर्न प्रयोग गर्न सकिन्छ।

यदि यो एक अक्षर होइन भने, त्रुटि हुनेछ। साथै, गैर-संख्यात्मक क्यारेक्टरहरूले त्रुटि निम्त्याउनेछ।

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
Copied title and URL