আমার ভাসা যুক্তি (সাধারণত একটি পূর্ণসংখ্যার সাথে পূর্ণসংখ্যার দশমিক বা দশমিক) গ্রহণ করার একটি ফাংশন রয়েছে এবং আমার দুটি দশমিক স্থানে (5 -> 5.00, 5.5 -> 5.50 ইত্যাদি) স্ট্রিংয়ের মানগুলি আউটপুট করতে হবে। পাইথনে আমি কীভাবে এটি করতে পারি?
আমার ভাসা যুক্তি (সাধারণত একটি পূর্ণসংখ্যার সাথে পূর্ণসংখ্যার দশমিক বা দশমিক) গ্রহণ করার একটি ফাংশন রয়েছে এবং আমার দুটি দশমিক স্থানে (5 -> 5.00, 5.5 -> 5.50 ইত্যাদি) স্ট্রিংয়ের মানগুলি আউটপুট করতে হবে। পাইথনে আমি কীভাবে এটি করতে পারি?
উত্তর:
যেহেতু এই পোস্টটি কিছু সময়ের জন্য এখানে থাকতে পারে তাই অজগর 3 বাক্য গঠনটিও নির্দেশ করে:
"{:.2f}".format(5)
এফ স্ট্রিং বিন্যাস:
পাইথন ৩.6-এ এটি নতুন ছিল - স্ট্রিংটি যথারীতি উদ্ধৃতি চিহ্নগুলিতে স্থাপন করা হয়, f'...
আপনি r'...
কাঁচা স্ট্রিংয়ের জন্য একইভাবে চাপিয়ে দেন । তারপরে আপনি নিজের স্ট্রিং, ভেরিয়েবল, সংখ্যা, ধনুর্বন্ধনীগুলির মধ্যে যা কিছু স্থাপন করতে চান তা স্থাপন করুন f'some string text with a {variable} or {number} within that text'
- এবং পাইথন পূর্ববর্তী স্ট্রিং বিন্যাস পদ্ধতি হিসাবে মূল্যায়ন করে, এই পদ্ধতিটি আরও বেশি পঠনযোগ্য except
>>> a = 3.141592
>>> print(f'My number is {a:.2f} - look at the nice rounding!')
My number is 3.14 - look at the nice rounding!
আপনি এই উদাহরণে দেখতে পাচ্ছেন আমরা দশমিক জায়গাগুলির সাথে একই স্ট্রিংয়ের পূর্ববর্তী স্ট্রিং বিন্যাস পদ্ধতিতে ফর্ম্যাট করি format
এনবি a
একটি সংখ্যা, পরিবর্তনশীল, এমনকি একটি এক্সপ্রেশন যেমনও হতে পারে f'{3*my_func(3.14):02f}'
।
এগিয়ে যাওয়া, নতুন কোড সহ আমি সাধারণ% s বা str.format () পদ্ধতিগুলির চেয়ে এফ-স্ট্রিং পছন্দ করি কারণ এফ-স্ট্রিংগুলি আরও বেশি পঠনযোগ্য হতে পারে এবং প্রায়শই দ্রুত হয় ।
স্ট্রিং বিন্যাস:
print "%.2f" % 5
math.floor
, math.ceil
বাround
স্ট্রিং বিন্যাস:
a = 6.789809823
print('%.2f' %a)
অথবা
print ("{0:.2f}".format(a))
রাউন্ড ফাংশন ব্যবহার করা যেতে পারে:
print(round(a, 2))
বৃত্তাকার () সম্পর্কে ভাল বিষয়টি হ'ল, আমরা এই ফলাফলটিকে অন্য পরিবর্তনশীলতে সঞ্চয় করতে পারি এবং তারপরে এটি অন্য উদ্দেশ্যে ব্যবহার করতে পারি।
b = round(a, 2)
print(b)
round
। এটি কেবল প্রদর্শনের উদ্দেশ্যে ব্যবহার করা উচিত নয় ।
round(5.0001, 2)
-> 5.0
, না'5.00'
সংক্ষিপ্ততম পাইথন 3 সিনট্যাক্স:
n = 5
print(f'{n:.2f}')
আমি জানি এটি একটি পুরানো প্রশ্ন, তবে আমি নিজেই উত্তরটি খুঁজে পেতে হিমশিম খাচ্ছিলাম। আমি যা নিয়ে এসেছি তা এখানে:
পাইথন 3:
>>> num_dict = {'num': 0.123, 'num2': 0.127}
>>> "{0[num]:.2f}_{0[num2]:.2f}".format(num_dict)
0.12_0.13
পাইথন 3 সিনট্যাক্স ব্যবহার:
print('%.2f' % number)
আপনি যদি ইনপুট কল করার সময় সীমিত দুটি দশমিক স্থানে ভাসমান পয়েন্ট মান পেতে চান,
এটি দেখুন ~
a = eval(format(float(input()), '.2f')) # if u feed 3.1415 for 'a'.
print(a) # output 3.14 will be printed.
eval
একটি স্ট্রিং যখন আপনি শুধু পারা round
? যাইহোক এটি এমনকি সঠিকভাবে কাজ করে না যেহেতু আপনি খাওয়ান 5
, আপনি ওপি চাইলে 5.0
পরিবর্তে পেতে 5.00
পারেন।
nan
এবং inf
।
d=3
"{:.{}f}".format(5, d)