Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python中打印负零
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在将十进制度数转换为DMS格式。转换算法是您所期望的,使用modf,加上符号从MS部分取出,只留在D部分。在</p> <p>除了度数为负0,-0的情况外,一切都很好。例如-0.391612,应打印为-0°23'29“。在</p> <p>“%d”删除负号。我可以使用什么格式的字符串打印-0?在</p> <p>将其转换为“-”格式,如果“klve”使用的是“负数”格式。这很尴尬,感觉不雅观。在</p> <p>代码如下:</p> <pre><code>def dec_to_DMS(decimal_deg): deg = modf(decimal_deg)[1] deg_ = fabs(modf(decimal_deg)[0]) min = modf(deg_ * 60)[1] min_ = modf(deg_ * 60)[0] sec = modf(min_ * 60)[1] return deg,min,sec def print_DMS(dms): # dms is a tuple # make sure the "-" is printed for -0.xxx format = ("-" if copysign(1,dms[0]) < 0 else "") + "%d°%02d'%02d\"" return format % dms print print_DMS(dec_to_DMS(-0.391612)) >>> -0°23'29" </code></pre> <p><code>deg_</code>是为了防止函数返回(-0,-23,-29);它返回正确的(-0,23,29)。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>使用<code>format()</code></p> <pre><code>>>> format(-0.0) '-0.0' >>> format(0.0) '0.0' >>> print '''{: g}°{}'{}"'''.format(-0.0, 23, 29) -0°23'29" </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
jupyter运行一个旧的pytorch版本
2 回答
Jupyter运行不同版本的卸载库?
8 回答
Jupyter运行指定的键盘快捷键
9 回答
Jupyter通过.local文件“逃逸”virtualenv。我该如何缓解这种情况?
10 回答
Jupyter重新加载自定义样式
8 回答
Jupyter错误:“没有名为Jupyter_core.paths的模块”
10 回答
jupyter错误:无法在随机林中将决策树视为png
8 回答
Jupyter错误'内核似乎已经死亡,它将自动重新启动'为一个给定的代码块
1 回答
Jupyter错误地用阿拉伯语和字母数字元素显示Python列表
6 回答
Jupyter隐藏数据帧索引,但保留原始样式
6 回答
Jupyter集线器:启动器中出现致命错误。。。系统找不到指定的文件
5 回答
Jupyther中相同值的相同哈希,但导出到Bigquery时不相同
4 回答
Jupy上Python的读/写访问问题
10 回答
jupy上没有模块cv
3 回答
Jupy上的排序错误
8 回答
Jupy中bqplot图形的紧凑布局
4 回答
Jupy中matplotlib plot的连续更新
1 回答
Jupy中Numpy函数的文档
1 回答
Jupy中Pandas的自动完成问题
3 回答
jupy中Qt后端的Matplotlib动画
7 回答