Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I reduce the number of digits after decimal point when writing floats to file?

Tags:

python

In my program I am printing float numbers to file. There is high precision of these numbers so there are many digits after decimal point, i.e number 0.0433896882981. How can I reduce number of digits that I print into file? So I would print, say, 0.043 instead of 0.0433896882981.

like image 744
ashim Avatar asked May 04 '12 20:05

ashim


2 Answers

You can use basic string formatting, such as:

>>> print '%.4f' % (2.2352341234)
2.2352

Here, the %.4f tells Python to limit the precision to four decimal places.

like image 94
larsks Avatar answered Nov 02 '22 22:11

larsks


You don't say which version, or really how you are doing it in, so I'm going to assume 3.x.

str.format("{0:.3f}", pi) # use 3 digits of precision and float-formatting.

The format specifier generally looks like this:

[[fill]align][sign][#][0][minimumwidth][.precision][type]

Other examples:

>>> str.format("{0:" ">10.5f}", 3.14159265)
'   3.14159'
>>> str.format("{0:0>10.5f}", 3.14159265)
'0003.14159'
>>> str.format("{0:<10.5f}", 3.14159265)
'3.14159   '
like image 25
Skurmedel Avatar answered Nov 02 '22 21:11

Skurmedel