तो मेरे पास निम्न कोड है

for x in range(10):
  
    print(f'Machine Busy Val     : {read_log ("Machine_busy_value")}')

Read_log फ़ंक्शन है और इसे machine_busy_value मिल रहा है। यह वर्तमान में एक फ़्लोटिंग नंबर लौटा रहा है लेकिन मैं इसे 2 दशमलव स्थानों में मान वापस करना चाहता हूं। मैं इसके बारे में कैसे जा सकता हूं? किसी भी प्रकार के सुझाव की सराहना की जाएगी। मैं अजगर 2.7 का उपयोग कर रहा हूँ अगर यह मदद करता है

-1
Rafi Hasan 26 नवम्बर 2021, 19:22
यदि आप Py2.7 (या कुछ भी <3.6) का उपयोग कर रहे हैं तो f-string संकेतन सिंटैक्स त्रुटि में विफल हो जाएगा। क्या आप सुनिश्चित हैं कि आप 2.7 पर हैं?
 – 
S3DEV
26 नवम्बर 2021, 19:25
हाँ, मैं अजगर 3.7.0 . पर हूँ
 – 
Rafi Hasan
26 नवम्बर 2021, 19:26

2 जवाब

सबसे बढ़िया उत्तर

आप प्रारूप() का उपयोग करने पर विचार कर सकते हैं

print ("{val:.1f}".format(val=read_log("Machine_busy_value") ))

वह अजगर 2.7 है (जिसमें एफ-स्ट्रिंग नहीं है)। बहुत सारे इस तरह के प्रश्न पहले से मौजूद हैं

यदि आप अजगर 3.7 पर हैं, तो आप इसे प्रारूपित करने के लिए :.2f के साथ स्ट्रिंग में अपने read_log कॉल को समाप्त कर सकते हैं।

f'Machine Busy Val     : {read_log ("Machine_busy_value"):.1f}'
1
mccatnm 26 नवम्बर 2021, 19:29
इसके लिए धन्यवाद। अजगर 3.7 कार्यान्वयन ने काम किया। यह अजीब है क्योंकि जब मैं अपने टर्मिनल पर py --version टाइप करता हूं तो मुझे अजगर 3.7.0 दिखाई देता है। सुनिश्चित नहीं है कि इसके बारे में क्या है। आपकी सहायता के लिए धन्यवाद
 – 
Rafi Hasan
26 नवम्बर 2021, 19:39

पायथन में एक गोल कार्य होता है जिसे आप इस प्रकार कॉल कर सकते हैं: गोल (जिस संख्या को आप गोल करना चाहते हैं, दशमलव बिंदुओं की संख्या)

तो आप अपना फ्लोटिंग नंबर सेव कर लें, उसे राउंड कर लें और फिर प्रिंट कर लें।

0
Kookies 26 नवम्बर 2021, 19:23
वह मेरी प्रारंभिक योजना थी लेकिन मैं सोच रहा था कि कोड की उस पंक्ति के भीतर सीधे ऐसा करने का कोई तरीका नहीं है?
 – 
Rafi Hasan
26 नवम्बर 2021, 19:25
हाँ, स्ट्रिंग स्वरूपण में देखें। अपने आप पर एक छोटा सा शोध उत्तर को उजागर करेगा।
 – 
S3DEV
26 नवम्बर 2021, 19:26
आप यह कर सकते हैं: f"मशीन बिजी वैल: {राउंड (read_log ("Machine_busy_value"), 2)}
 – 
Kookies
26 नवम्बर 2021, 19:27