ඔබට Python හි සංඛ්යා වැලක් සංඛ්යාත්මක අගයන් බවට පරිවර්තනය කිරීමට අවශ්ය නම්, පූර්ණ සංඛ්යා බවට පරිවර්තනය කිරීමට int() සහ පාවෙන ලක්ෂ්ය සංඛ්යා බවට පරිවර්තනය කිරීමට float() භාවිතා කරන්න.
නියැදි කේතය සමඟ පහත විස්තර මෙහි විස්තර කෙරේ.
- මූලික භාවිතය
- සංඛ්යාත්මක නූල් පූර්ණ සංඛ්යා බවට පරිවර්තනය කරන්න:
int()
- සංඛ්යා වැලක් පාවෙන ලක්ෂ්ය සංඛ්යා බවට පරිවර්තනය කරන්න:
float()
- සංඛ්යාත්මක නූල් පූර්ණ සංඛ්යා බවට පරිවර්තනය කරන්න:
- විශේෂ භාවිතය
- ද්විමය, අෂ්ටක සහ ෂඩ් දශම අංකවල ඇති නූල් සංඛ්යා බවට පරිවර්තනය කරයි
- ඝාතීය අංකනයෙහි ඇති නූල් සංඛ්යාත්මක අගයන් වෙත පරිවර්තනය කරයි
- සම්පූර්ණ පළල අරාබි ඉලක්කම් නූල් සංඛ්යා බවට පරිවර්තනය කරන්න
- චීන අක්ෂර මාලාවක් අංක බවට පරිවර්තනය කරන්න
සංඛ්යාත්මක අගයක් තන්තුවකට පරිවර්තනය කිරීමට, str() භාවිතා කරන්න.
ඔබට අංක හෝ තන්තු විවිධ හැඩතලවලට පරිවර්තනය කිරීමට අවශ්ය නම්, ආකෘතිය() ශ්රිතය හෝ string ක්රමය str.format() භාවිතා කරන්න. එවිට ඔබට 0-පිරවීම, ද්විමය, අෂ්ටක, ෂඩ් දශම, ඝාතීය අංකනය ආදියට පරිවර්තනය කළ හැක. විස්තර සඳහා පහත ලිපිය බලන්න.
එයට නූල් ලැයිස්තුවක් සංඛ්යා ලැයිස්තුවක් බවට පරිවර්තනය කළ හැකිය. විස්තර සඳහා පහත ලිපිය බලන්න.
- සංඛ්යාත්මක නූල් පූර්ණ සංඛ්යා බවට පරිවර්තනය කරන්න:int()
- සංඛ්යා වැලක් පාවෙන ලක්ෂ්ය සංඛ්යා බවට පරිවර්තනය කරන්න:float()
- ද්විමය, අෂ්ටක සහ ෂඩ් දශම අංකවල ඇති නූල් සංඛ්යා බවට පරිවර්තනය කරයි
- ඝාතීය අංකනයෙහි ඇති නූල් සංඛ්යාත්මක අගයන් වෙත පරිවර්තනය කරයි
- සම්පූර්ණ පළල අරාබි ඉලක්කම් නූල් සංඛ්යා බවට පරිවර්තනය කරන්න
- චීන අක්ෂර මාලාවක් අංක බවට පරිවර්තනය කරන්න
සංඛ්යාත්මක නූල් පූර්ණ සංඛ්යා බවට පරිවර්තනය කරන්න: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()
සංඛ්යා වැලක් පාවෙන ලක්ෂ්ය සංඛ්යා වර්ගයකට පරිවර්තනය කිරීමට 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'>
ද්විමය, අෂ්ටක සහ ෂඩ් දශම අංකවල ඇති නූල් සංඛ්යා බවට පරිවර්තනය කරයි
radix එකක් 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
රේඩික්ස් 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
ද්විමය, අෂ්ටක සහ ෂඩ් දශම සංඛ්යා සහ නූල් අන්තර් පරිවර්තනය පිළිබඳ තොරතුරු සඳහා පහත ලිපිය බලන්න.
ඝාතීය අංකනයෙහි ඇති නූල් සංඛ්යාත්මක අගයන් වෙත පරිවර්තනය කරයි
ඝාතීය අංකනයෙහි ඇති නූල් float() සමඟ සෘජුවම float වර්ගයට පරිවර්තනය කළ හැක.
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 ද විශාල අකුරින් 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() ශ්රිතය තනි යුනිකෝඩ් චීන අක්ෂරයක් පාවෙන ලක්ෂ්ය සංඛ්යා ආකාරයේ අංකයක් බවට පරිවර්තනය කිරීමට භාවිතා කළ හැක.
එය තනි අකුරක් නොවේ නම්, දෝෂයක් සිදුවනු ඇත. එසේම, සංඛ්යාත්මක නොවන අක්ෂර දෝෂයක් ඇති කරයි.
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