python - 如何拆分未知号码
问题描述
将以下数字(此处为时间度量)想象为给定程序的输出:
0.000000000123
我将如何拆分它以便我可以像这样阅读它:
000 seconds 000 miliseconds 000 microseconds 000 nanoseconds 123 picoseconds
我想对任何“未知”十进制(逗号分隔)数字执行此操作。
谢谢!
解决方案
将您的值转换为字符串并适当地格式化。例如(我假设你总是想要皮秒精度):
units=["","milli","micro","nano","pico"]
val = 0.000000000123
s = f'{val:016.12f}'.replace(".","")
x = ""
for i,u in enumerate(units):
x += f'{s[i*3:i*3+3]:3} {u}seconds '
x
'000 seconds 000 milliseconds 000 microseconds 000 nanoseconds 123 picoseconds '
编辑
两个 f 弦如何工作:
第一个将值转换为长度为 16 的字符串,尾随零和小数点后的 12 位数字 - 然后replace
删除该点,因为我们不需要它。所以我们有一个 15 位的字符串,每个度量单位 3 位。
第二个采用三个数字并在每个数字上添加前缀(“milli”,“micro”,...)和单词“seconds”。在循环结束时,我们添加了正确的测量单位的五个三元组。
推荐阅读
- css - CSS - 如何将文本组成另一个文本和向下的按钮
- sql - 我怎样才能将另一个 SQL COUNT 嵌套到其中?
- angular6 - Angular6:动态实例化(使用新的)类,包括依赖注入
- mysql - MySQL 跨多个索引搜索
- c# - Linux下C#,Process.Start()出现“No such file or directory”异常
- sql - 以高做大
- asp.net - 在 ASP.NET MVC5 视图中显示单元测试结果
- python - Tensorflow TocoConverter 给出 toco_from_protos 错误
- java - 如何为java进程创建PID文件
- javascript - 嵌套 json 中的子项总数