Python中文
首页
教程
问答
标签
搜索
登录
注册
以全精度打印numpy.float64
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>打印numpy.float64并将其转换为字符串的正确/可接受的方法是什么?我注意到仅仅使用<code>print</code>或<code>str()</code>会失去一些精度。但是,<code>repr</code>保持完全精度。例如:</p> <pre><code>>>> import numpy >>> print numpy.float64('6374.345407799015') 6374.3454078 >>> print repr(numpy.float64('6374.345407799015')) 6374.3454077990154 </code></pre> <ol> <li><p>我假设只要调用print就会变成对float64对象调用<code>str()</code>。那么,<code>__str__()</code>for numpy.float64是用<code>'%s' % (float(self))</code>之类的东西实现的,还是用Python内置的<code>float()</code>来强制转换float64呢?我试着快速地在核源周围寻找这个,但并没有立即发现发生了什么。</p></li> <li><p>我一直认为<code>repr()</code>应该返回有效的Python代码,可供<code>eval()</code>用于重新创建对象。这是公认的惯例吗?幸运的是,在这种情况下,numpy没有遵循这个约定,因为<code>repr()</code>只返回原始数字作为字符串,而不是像<code>"numpy.float64('6374.345407799015')"</code>这样的字符串。</p></li> </ol> <p>所以,所有这些都让我困惑。如何正确地将numpy.float64转换为字符串和/或打印它,同时保证始终具有相同的完全精度?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>看看<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.set_printoptions.html" rel="noreferrer">numpy.set_printoptions</a>。具体来说</p> <pre><code>numpy.set_printoptions(precision=15) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
从Django temp访问容器的方法
10 回答
从Django temp请求ModelForm实例
5 回答
从Django temp返回JSON
2 回答
从Django timesince模板等效项中删除尾部数据
8 回答
从Django timesin删除尾随数据
1 回答
从Django UpdateView模板下载文件
10 回答
从Django url传递“start”会出现错误“start()只接受2个参数(给定1个)”
6 回答
从Django url运行的websockets错误:RuntimeError:线程“Dummy1”中没有当前事件循环
3 回答
从Django user mod获取用户全名
9 回答
从Django UserCreateForm中删除帮助文本
10 回答
从Django values()获取外键值
3 回答
从Django vi中的按钮获取click事件
3 回答
从Django vi从HttpResponse检索JSON
3 回答
从Django vi以json形式返回的数据中检索元素
4 回答
从Django vi取消或取消eventlet中的芹菜任务
2 回答
从Django vi启动多核后台进程
6 回答
从Django vi开始
2 回答
从Django Vi构建HTML
6 回答
从Django vi访问进程数据
10 回答
从Django vi调用pysnmp发送超时
1 回答