Convert floating point number to a certain precision, and then copy to string(将浮点数转换为一定精度,然后复制为字符串)
问题描述
我有一个浮点数,比如 135.12345678910.我想将该值连接到一个字符串,但只需要 135.123456789.使用打印,我可以通过执行以下操作轻松做到这一点:
I have a floating point number, say 135.12345678910. I want to concatenate that value to a string, but only want 135.123456789. With print, I can easily do this by doing something like:
print "%.9f" % numvar
numvar 是我的原始号码.有没有简单的方法可以做到这一点?
with numvar being my original number. Is there an easy way to do this?
推荐答案
使用 Python <3(例如 2.6 [见评论] 或 2.7),有两种方法.
With Python < 3 (e.g. 2.6 [see comments] or 2.7), there are two ways to do so.
# Option one
older_method_string = "%.9f" % numvar
# Option two
newer_method_string = "{:.9f}".format(numvar)
但请注意,对于高于 3 的 Python 版本(例如 3.2 或 3.3),选项二是 首选.
But note that for Python versions above 3 (e.g. 3.2 or 3.3), option two is preferred.
有关选项二的更多信息,我建议 this link on string formatting from thePython 文档.
For more information on option two, I suggest this link on string formatting from the Python documentation.
关于选项一的更多信息,这个链接就足够了,并且有各种标志的信息.
And for more information on option one, this link will suffice and has info on the various flags.
Python 3.6(2016 年 12 月正式发布),添加了 f 字符串字面量,在此处查看更多信息,它扩展了 str.format 方法(使用大括号,例如 f"{numvar:.9f}" 解决了原来的问题),也就是
Python 3.6 (officially released in December of 2016), added the f string literal, see more information here, which extends the str.format method (use of curly braces such that f"{numvar:.9f}" solves the original problem), that is,
# Option 3 (versions 3.6 and higher)
newest_method_string = f"{numvar:.9f}"
解决问题.查看@Or-Duan 的答案以获取更多信息,但此方法快速.
solves the problem. Check out @Or-Duan's answer for more info, but this method is fast.
这篇关于将浮点数转换为一定精度,然后复制为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将浮点数转换为一定精度,然后复制为字符串
基础教程推荐
- 尝试制作WhatsApp机器人 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
