格式化包含带前导零的小数点的数字

     2023-03-28     229

关键词:

【中文标题】格式化包含带前导零的小数点的数字【英文标题】:Format a number containing a decimal point with leading zeroes 【发布时间】:2011-11-16 11:46:54 【问题描述】:

我想用前导零格式化一个带小数点的数字。

这个

>>> '3.3'.zfill(5)
003.3

考虑所有数字甚至小数点。 python中是否有只考虑整个部分的函数?

我只需要格式化不超过五位小数的简单数字。此外,使用%5f 似乎会考虑尾随而不是前导零。

【问题讨论】:

你试过%5.1f了吗?如果是这样,那有什么问题? 它用空格填充字符串,仍然考虑小数点和它之后的所有内容。 【参考方案1】:

这就是你要找的吗?

>>> "%07.1f" % 2.11
'00002.1'

所以根据你的评论,我可以想出这个(虽然不再那么优雅了):

>>> fmt = lambda x : "%04d" % x + str(x%1)[1:]
>>> fmt(3.1)
0003.1
>>> fmt(3.158)
0003.158

【讨论】:

【参考方案2】:

我喜欢新的格式。

loop = 2
pause = 2
print 'Begin Loop 0, 1:06.2f Seconds Pause'.format(loop, pause)
>>>Begin Loop 2, 0002.1 Seconds Pause

在 1:06.2f:

1 是变量暂停的占位符 0 表示用前导零填充 包括小数点在内共6个字符 2 精度 f 将整数转换为浮点数

【讨论】:

完美运行!只是 Python 3 的小改动。【参考方案3】:

如您的示例一样,从字符串开始,您可以编写一个像这样的小函数来执行您想要的操作:

def zpad(val, n):
    bits = val.split('.')
    return "%s.%s" % (bits[0].zfill(n), bits[1])

>>> zpad('3.3', 5)
'00003.3'

【讨论】:

这正是我不想做的,但如果没有内置功能,我想它会工作。谢谢。 @3ee3 在'3' 上试试这个。如果您想要一个适用于ints 和floats 的版本,请在return 之前添加一行bits[0] = bits[0].zfill(n),并将return 更改为return bits = '.'.join(bits)。 ` -3.3 怎么样?不会产生预期的结果!!添加一个条件if val.count('-')>0: n=n+1 然后它也适用【参考方案4】:

像这样?

>>> '%#05.1f' % 3.3
'003.3'

【讨论】:

它仍然考虑小数部分,并在第一个小数位后删除任何内容 所以要考虑小数位数,并将它们添加到小数位数说明符中。【参考方案5】:
print('0:07.3f'.format(12.34))

这将有总共 7 个字符,包括 3 个小数点,即。 “012.340”

【讨论】:

填充数字格式的时间表达式,具有带前导零的可变分隔符

】填充数字格式的时间表达式,具有带前导零的可变分隔符【英文标题】:Padnumbersformattedtimeexpressionhavingvariabledelimiterswithleadingzeros【发布时间】:2020-09-1919:24:14【问题描述】:将字符串形成特定格式的最佳方法是什么,例如在ex... 查看详情

以带前导零的数字序列创建文件名的字符向量

...:37:32【问题描述】:我需要生成100个文件名。你将如何在包含100个文件名的R中生成对应的字符向量files:plot01.png,plot02.png,plot03.png,...,plot99.png,p 查看详情

date.now如何格式化日期

参考技术A  )日期格式化显示  在SQL中DateTime为位长度日期的指定形式为::  而在ASPNET上最常用的只是号一部分而已你可以使用  DateTimeNowToString(d)或DateTimeNowToShortDateString();  不过具体格式是//还是的话要看你的系统配... 查看详情

NUMBER 前导零的格式掩码

】NUMBER前导零的格式掩码【英文标题】:FormatmaskwithleadingzeroforNUMBER【发布时间】:2021-05-2612:46:23【问题描述】:如果我想保留一个前导零并且不知道数据“大小”,我应该使用哪种格式掩码将表格列NUMBER中的数字数据转换为char... 查看详情

格式字符串,带前导零的整数

】格式字符串,带前导零的整数【英文标题】:Formatstring,integerwithleadingzeros【发布时间】:2010-06-0617:40:42【问题描述】:我想将一个整数值转换为带有前导零的字符串(如果需要),这样该字符串总共有3个字符。例如,5将变为&... 查看详情

javascriptdateformat(js日期格式化)

javascriptDateformat(js日期格式化)<scripttype="text/javascript">/*函数:格式化日期参数:formatStr-格式化字符串d:将日显示为不带前导零的数字,如1dd:将日显示为带前导零的数字,如01ddd:将日显示为缩写形式,如Sundddd:将日显示... 查看详情

将整数格式化为带前导零的字符串的最佳方法? [复制]

】将整数格式化为带前导零的字符串的最佳方法?[复制]【英文标题】:Bestwaytoformatintegerasstringwithleadingzeros?[duplicate]【发布时间】:2010-10-1812:30:23【问题描述】:我需要在整数中添加前导零,以生成具有已定义位数($cnt)的字符串... 查看详情

带前导零的 Barcode4j UPCA 扫描码

】带前导零的Barcode4jUPCA扫描码【英文标题】:Barcode4jUPCAscancodewithleadingzero【发布时间】:2014-08-1005:31:07【问题描述】:我正在尝试使用UPCA格式的Jasper报告将条形码添加到报告中。我的扫描码是字符串,但Barcode4j需要12位整数。... 查看详情

使用vba在excel中复制带有前导零的数字文本

...(供其他应用程序导入)。我的问题是,在导出时,任何包含可以解释为数字的文本的单元格都会转换为数字。这意味着如果文本包含前导零,这些零就会丢失。所以 查看详情

格式化带前导符号的数字

】格式化带前导符号的数字【英文标题】:Formatanumberwithleadingsign【发布时间】:2011-03-0908:54:39【问题描述】:如何在Java中格式化带有前导符号的数字?前导-可以正确显示负数,但+显然不会显示正数。如何在Java中做到这一点?... 查看详情

“意外的标记 。” JSON Parse 无法解析前导零的十进制

...在尝试解析来自Oracle11g数据库的数据。我设置的许多列都包含带前导零的十进制值(0.1、0.99、...)。列数据格式为NUMBER(10,2),在SQ 查看详情

获取具有非前导零的数字(包括“-”)(代码片段)

我想匹配包括“-”的数字与不带前导的零和没有“-”的普通数字。因此我想使用正则表达式。正则表达式应该匹配01231232-322-33和不应该匹配0123-12301234。以下正则表达式几乎起作用:(0|[1-9][0-9]*-?[0-9]*)数字01231232-322-33和01234正确... 查看详情

如何从可能具有前导零的字符串中解析数字?

】如何从可能具有前导零的字符串中解析数字?【英文标题】:HowdoIparseanumberfromaStringthatmayhavealeadingzero?【发布时间】:2010-09-1321:13:35【问题描述】:在ruby​​中,我正在解析以下格式的日期:24092008。我想将每个部分(年、月... 查看详情

如何在java中获取带有前导零的整数中的位数?

】如何在java中获取带有前导零的整数中的位数?【英文标题】:Howtogetnumberofdigitsinanintegerwithleadingzerosinjava?【发布时间】:2015-03-2118:18:29【问题描述】:这个问题包括带前导零的数字和通常计为十六进制的数字(如09)。假设用... 查看详情

带小数的前导零,Javascript

】带小数的前导零,Javascript【英文标题】:Leadingzeroswithdecimal,Javascript【发布时间】:2014-04-2217:31:25【问题描述】:我有一个输入数字的键盘,用于输入付款。有了这个,我有前导零,并想知道有效处理/删除它们的最佳方法。JSf... 查看详情

不带前导零的日期时间对象

】不带前导零的日期时间对象【英文标题】:DatetimeObjectwithoutleadingzero【发布时间】:2018-09-1510:13:28【问题描述】:关于python3datetime对象上删除前导零,我遇到了几个答案(1、2、3)。投票最多的answers状态之一:在Windows上,您... 查看详情

datetime时间格式(代码片段)

...。MMMM  月份的完整名称,在MonthNames中定义。y 不包含纪元的年份。如果不包含纪元的年份小于10,则显示不具有前导零的年份。yy不包含纪元的年份。如果不包含纪元的年份小于10,则显示具有前导零的年份。yyyy... 查看详情

JavaScript 中前导零的数字

】JavaScript中前导零的数字【英文标题】:NumberwithleadingzeroinJavaScript【发布时间】:2022-01-1004:36:52【问题描述】:试试这个:varnum=040;console.log(num);//32从什么时候开始40=32?【问题讨论】:WorkaroundsforJavaScriptparseIntoctalbug的可能重复... 查看详情