Get value to the right of the decimal in python [duplicate] - python

This question already has answers here:
How to get numbers after decimal point?
(37 answers)
Closed 3 years ago.
If I print 5/4 I get 1.25. How do I just get the .25 part.
print(5/4)
1.25

Not the most elegant solution but this will work
print(5/4-5//4)

Related

In Python, changing the order of float addition changes the output value. How? [duplicate]

This question already has answers here:
Why does changing the sum order returns a different result?
(7 answers)
Is floating point math broken?
(31 answers)
Closed 2 years ago.
I am working on some floating point addition in Python, i found this difference, changing the order of addition changes the value.
v1=2.7776548790102065
v2=2.932026860135167
v3=-2.5635999386901154
v4=-5.884153623433478
v5=0.16152830205880864
v6=2.614447767673556
v7=5.651999753771971
v8=-7.074990233473147
v9=12.624973219138516
print(v1+v2+v3+v4+v5+v6+v7+v8+v9) # 11.239886986191486
print(v1+v4+v7+v2+v5+v8+v3+v6+v9) # 11.239886986191484
can anyhow suggest me how to rectify this?

How to round up 10.3 to get 10.30? [duplicate]

This question already has answers here:
How to display a float with two decimal places?
(13 answers)
How to format a floating number to fixed width in Python
(10 answers)
Closed 2 years ago.
When we round off using python is there a way we get answer in 2 decimal place incase if:
round(10.3,2)
It will give 10.3.Is there way so that we get 10.30?
10.3 is the same number as 10.30 so rounding has nothing to do with it. Try string formatting.
n = 10.3
"{:.2f}".format(n) # classic str.format
f"{n:.2f}" # f-strings in 3.6+

Python floats giving strange responses [duplicate]

This question already has answers here:
Is floating point math broken?
(31 answers)
Closed 2 years ago.
I am writing a program that deals with adding floats to each other and found something weird.
Examples
---INPUT---
print(1+0.1)
print(1-0.1)
---OUTPUT---
1.10000000000001
0.99999999999999
Why is this happening and how do I stop it?
To do this instead of using floats, I used a list where each value of the list represented by each part of the float that i need. This is not always the best soluton but for the wider application that I need it in this is the best solution!
e.g.
10 1 0.1 0.01
[5, 4, 0, 1]
=> 54.01

Avoid printing exponential value [duplicate]

This question already has answers here:
How to suppress scientific notation when printing float values?
(16 answers)
Convert Scientific Notation to Float
(3 answers)
Closed 3 years ago.
Is there a way to print the actual value instead of exponential value?
>>> val=0.00004
>>> print(str(val))
4e-05
As posted in here: How do I suppress scientific notation in Python?
print('{0:f}'.format(val))
Try this,
print('{:f}'.format(val))

Why did python add 1 at the end? console.log(9.89+3.48) = 13.37000000000001 [duplicate]

This question already has answers here:
Is floating point math broken?
(31 answers)
Closed 5 years ago.
https://i.imgur.com/YYNhvNv.png
Its adding in 1 at the end of that console log output. Why?
Answer is suppose to be only 13.37
Likely because it is adding to numbers of type double (I am not a huge Python expert though, so I could be wrong). The doubletype, much like single does not have perfect precission. Hence some decimal errors can occur...

Categories