+ 1

Python spitted string decimals precision

Hi I have a string which has three parts separated by two spaces. I need to provide decimal to each part . How to do it effectively? For example, '1.34 2.36 4.567' should have output 1.3 2.4 and 4.6 if precision is 1 decimal Please suggest. My half cooked sample code as below: https://sololearn.com/compiler-playground/cAvrLn5wNz0F/?ref=app

28th Aug 2024, 6:01 PM
Ketan Lalcheta
Ketan Lalcheta - avatar
6 Antworten
+ 4
Ketan Lalcheta , here is an other suggestion that is short and concise: a = '1.23456789 2.3567 1.2334' # a -> string for item in a.split(): # item -> string print(f'{float(item):.1f}',end=' ') # convert string to float, format float and output as string # result -> 1.2 2.4 1.2 (data type is string)
29th Aug 2024, 11:06 AM
Lothar
Lothar - avatar
+ 3
Ketan Lalcheta , what you get with your code is a list of strings (numbers). to get the items as float, we can use map() function like this: ... lst = list(map(float, a.split())) ... the output can be done with an f- string with a defined precision like: ... print(f'{lst[0]:.1f}') # 1 -> precission, f -> float data type
28th Aug 2024, 6:20 PM
Lothar
Lothar - avatar
+ 3
Ketan Lalcheta , f-string is generating a string output. we can use a loop to print the 3 `numbers` and set the `end` parameter to a space as separator between the items: ... for item in lst: print(f'{item:.1f}',end=' ')
28th Aug 2024, 6:47 PM
Lothar
Lothar - avatar
+ 3
a = '1.23456789 2.3567 1.2334' b = ' '.join((str(round(float(n),1)) for n in a.split(' '))) print(type(b)) print(b)
29th Aug 2024, 7:12 AM
Bob_Li
Bob_Li - avatar
+ 2
Thanks Lothar and Bob_Li
29th Aug 2024, 7:32 AM
Ketan Lalcheta
Ketan Lalcheta - avatar
+ 1
thanks. I probably drafted a question wrongly. I let me try again. I don't want to have three different parts individually at the end. It should still be a string at the end also but with precision in each part and also joined with space Meaning '1.34 2.36 4.567' would be '1.3 2.4 4.6' as output if precision was asked as 1 your suggestion work also , but is there any other approach if end result required is in string format.
28th Aug 2024, 6:40 PM
Ketan Lalcheta
Ketan Lalcheta - avatar