Có cách nào ngắn gọn để định dạng một số, đôi khi cũng có thể là một chuỗi không?giá trị định dạng có thể là số và/hoặc chuỗi trong python 3
Số thường sẽ là phao, nhưng đôi khi nó cũng được biểu thị dưới dạng chuỗi "n/a".
Tôi muốn định dạng phao bằng số thập phân cố định, nhưng in toàn bộ chuỗi trong trường hợp nó không phải là số.
Ví dụ:
var=3.145623
print("This is {0:.2f}".format(var))
>>>This is 3.14
, nhưng
var = "n/a"
print("This is {0:.2f}".format(var))
>>> File "<stdin>", line 1, in <module>
>>> ValueError: Unknown format code 'f' for object of type 'str'
Tôi không ngạc nhiên bởi ValueError, nhưng tự hỏi, nếu có một cách súc tích xung quanh nó, tốt nhất là không có rõ ràng nếu-tuyên bố.
Nó có vẻ như sử dụng một rõ ràng 'nếu-else' là cách đơn giản nhất ... Đây là vấn đề bạn nhận được khi bạn đối phó với các loại hỗn hợp và lý do bạn nên tránh khi có thể. –
@ juanpa.arrivillaga: Tôi chỉ mặc dù tôi đã bỏ lỡ một chuyển đổi trong .format() hoặc một cái gì đó - với tôi có vẻ như đây sẽ là một vấn đề mà mọi người có thể chạy vào khá thường xuyên và do đó có thể có một cái gì đó tích hợp sẵn .. – Gerhard
Tôi có thể hỏi, tại sao bạn có thể nhận được 'float' hoặc chuỗi' "n/a" '? Có vẻ như đó là vấn đề thực sự. –