Python中文
首页
教程
问答
标签
搜索
登录
注册
在python中子类化float强制定点打印精度
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p><strong>[Python 3.1]</strong></p> <p>我正在跟进<a href="https://stackoverflow.com/questions/1566936/easy-pretty-printing-of-floats-in-python/1567630#1567630">this answer</a>:</p> <pre><code>class prettyfloat(float): def __repr__(self): return "%0.2f" % self </code></pre> <p>我知道我需要跟踪我的浮点字面值(例如,将<code>3.0</code>替换为<code>prettyfloat(3.0)</code>,等等),这很好。在</p> <p>但是每当我做任何计算时,<code>prettyfloat</code>对象被转换成{<cd4>}。在</p> <p>最简单的方法是什么?在</p> <p>编辑:</p> <p>我只需要两个十进制数字;我需要它贯穿整个代码,包括在哪里打印一个包含<code>float</code>值的字典。这使得任何格式化函数都很难使用。在</p> <p>我不能使用<code>Decimal</code>全局设置,因为我希望计算是完全精确的(只打印两个小数点)。在</p> <p>@Glenn Maynard:我同意我不应该重写<code>__repr__</code>;如果有什么,那就是<code>__str__</code>。但这是一个没有实际意义的观点,因为下面这一点。在</p> <p>@Glenn Maynard和@singularity:I'll not subclass <code>float</code>,因为我同意它最终看起来会很难看。在</p> <p>我不想再耍聪明了,只要在打印<code>float</code>的地方调用一个函数。虽然我很遗憾我不能重写内置类中的<code>__str__</code>,但是我很遗憾。在</p> <p>谢谢你!在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>使用<code>decimal</code>。这就是它的目的。在</p> ^{1}$ <p>…除非您真的想在代码中的任何地方都使用全精度浮点值,但将它们四舍五入到小数点后两位。在这种情况下,您需要重写打印逻辑。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
10 回答
无法使用Django\u mssql\u后端迁移到外部hos
10 回答
无法使用Django&Python3.4连接到MySql
9 回答
无法使用Django+nginx上载媒体文件
5 回答
无法使用Django1.6导入名称模式
5 回答
无法使用Django1.7和mongodb登录管理站点
6 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
5 回答
无法使用Djangockedi验证CBV中的字段
1 回答
无法使用Djangocketditor上载图像(错误400)
4 回答
无法使用Djangocron进行函数调用
2 回答
无法使用Djangofiler djang上载文件
8 回答
无法使用Djangokronos
9 回答
无法使用Djangomssql provid
8 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
10 回答
无法使用Djangomssq迁移Django数据库
8 回答
无法使用Djangonox创建用户
1 回答
无法使用Djangopyodb从Django查询SQL Server
8 回答
无法使用Djangopython3ldap连接到ldap
3 回答
无法使用Djangoredis连接到redis
2 回答
无法使用Django中的FK创建新表
3 回答