如何屏蔽我的浮点数,最好不使用正则表达式?

dot*_*.Py 1 python regex format mask string-formatting

如何使用掩码将浮点数格式化为字符串?

(我不擅长正则表达式,但如果有人知道单行解决方案,为什么不呢?)

这是我的问题:

我有一个像"6.88"的浮点数,我需要使用以下掩码"00000000000.00"对其进行格式化

6.88 ="00000000006.88"

14.3 ="00000000014.30"

00.0 ="00000000000.00"

我已经阅读了以下帖子,但我无法理解:

格式化数字与特定掩码正则表达式python

我的数据示例:

6.88  => 00000000006.88
56.62 => 00000000056.62
9.58  => 00000000009.58
24.75 => 00000000024.75
14.30 => 00000000014.30
Run Code Online (Sandbox Code Playgroud)

我的效率不高也不快:

  1. 从float转换为str
  2. 使用分隔符"."拆分我的字符串.
  3. 计算"."之前和之后的字符.
  4. 通过使用这些参数的长度来调整我的split [0]并将[1]拆分为掩码
  5. DONE

有更简单的方法吗?

vau*_*tah 5

你使用字符串格式:

In [21]: '{:014.2f}'.format(6.88)
Out[21]: '00000000006.88'

In [22]: '{:014.2f}'.format(14.30)
Out[22]: '00000000014.30'

In [23]: '{:014.2f}'.format(0)
Out[23]: '00000000000.00'
Run Code Online (Sandbox Code Playgroud)

根据6.1.3.1.格式规范迷你语言,

  • 0 是填充字符

  • .2 将精度设置为2

  • 14是结果字符串的宽度