title: Precision of numpy array lost after tolist
body: <p>I have a numpy array in which every number has a certain designated precision(using around(x,1).</p>
  
  <pre><code>[[     3.   15294.7  32977.7   4419.5    978.4    504.4    123.6]
   [     4.   14173.8  31487.2   3853.9    967.8    410.2    107.1]
   [     5.   15323.5  34754.5   3738.7   1034.7    376.1    105.5]
   [     6.   17396.7  41164.5   3787.4   1103.2    363.9    109.4]
   [     7.   19665.5  48967.6   3900.9   1161.     362.1    115.8]
   [     8.   21839.8  56922.5   4037.4   1208.2    365.9    123.5]
   [     9.   23840.6  64573.8   4178.1   1247.     373.2    131.9]
   [    10.   25659.9  71800.2   4314.8   1279.5    382.7    140.5]
   [    11.   27310.3  78577.7   4444.3   1307.1    393.7    149.1]
   [    12.   28809.1  84910.4   4565.8   1331.     405.5    157.4]]
  </code></pre>
  
  <p>I'm trying to convert every number into a string so that I can write them into a word table using python-docx. But the result of tolist() function is a total mess. The precision of the numbers are lost, resulting very long output. </p>
  
  <pre><code>[['3.0',
    '15294.7001953',
    '32977.6992188',
    '4419.5',
    '978.400024414',
    '504.399993896',
    '123.599998474'],
   ['4.0',
    '14173.7998047',
    '31487.1992188',
    '3853.89990234',
    '967.799987793',
    '410.200012207',
    '107.099998474'],
  .......
  </code></pre>
  
  <p>Besides the tolist() function, I also tried [[str(e) for e in a] for a in m]. The result is the same. This is very annoying. How can I convert to string easily while maintaining the precision? Thanks!</p>