关键词:
【中文标题】格式化包含带前导零的小数点的数字【英文标题】: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'
上试试这个。如果您想要一个适用于int
s 和float
s 的版本,请在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的可能重复... 查看详情