python 保留小数位数不够补0_python怎么赋值

python 保留小数位数不够补0_python怎么赋值对于python的初学者,通常情况下,只需要输出结果符合预期即可,所以通常情况下,print就能够满足需求。print但是如果对于数据流转的情况下,我一开始没有找到合适的方法:例如,我想把1.2000保留三位有效数字,如果按照其他方法:a=1.2345print(round(a,3))输出的结果是:1.234末尾有0但是如果是要将1.2000保留三位有效数字呢:a=…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

对于python的初学者,通常情况下, 只需要输出结果符合预期即可,所以通常情况下,print就能够满足需求。

print

但是如果对于数据流转的情况下,我一开始没有找到合适的方法:
例如,我想把1.2000保留三位有效数字,如果按照其他方法:

a = 1.2345
print(round(a,3))

输出的结果是:

1.234

末尾有0

但是如果是要将1.2000保留三位有效数字呢:

a = 1.2000
print(round(a,3))

结果:

1.2

所以round就有其局限性。
其他方式呢:

a = 1.2000
print('%.2f'%a)

结果:

1.20

赋值

但是如果是要求赋值怎么办,可以这样写:

a = 1.2000
b = ('%.3f'%a)
print(b)

结果:

1.200

需要注意的问题

满足要求,但是如果需要用这种方式来进行下一步操作就会出现问题,例如:

a = 1.2000
b = ('%.3f'%a)
print("a:{0},type:{1}1".format(a,type(a)))
print("a:{0},type:{1}1".format(b,type(b)))

结果:

1.200
a:1.2,type:<class 'float'>1
a:1.200,type:<class 'str'>1

这样写的话,数据类型会从float变为str,不注意的话在之后的调用的时候会报错,如果后续需要使用float类型的话,可以再转化一次:

a = 1.2000
b = ('%.3f'%a)
print("a:{0},type:{1}1".format(a,type(a)))
print("a:{0},type:{1}1".format(b,type(b)))
b = float(b)
print("a:{0},type:{1}1".format(b,type(b)))

结果:

a:1.2,type:<class 'float'>1
a:1.200,type:<class 'str'>1
a:1.2,type:<class 'float'>1

目前还没有找到既能保留末尾的0,保存足够的小数点的数值类型的方法,如果有的话,请多多指教,万分感谢。

小数的表达方式:

f'{59.058:08.2f}'  # '00059.06' 08.2f 其中8是全部数据有8位(算上逗号),其中0是不足8位的在前面用0填充,
f'{59.058:8.2f}'  # ' 59.06' 无0的话不足8位的在前面用空填充。
f'{123459.06:08.2f}' # '123459.06' 如果全部数据比8大的话,会把小数点前的数据显示出来不受8的限制。

整数:

'{0}-{1}-{2}'.format(1,2,3) # 1-2-3
'{2}-{1}-{0}'.format(1,2,3) # 3-2-1
'{0}'.format([1,2,3]) # [1, 2, 3]
'{0[0]}-{0[1]}-{0[2]}'.format([1,2,3]) # 1-2-3
'{0}'.format(1) # '1'
'{0:f}'.format(1) # '1.000000'
'{0:d}'.format(1) # '1'
'{0:3d}'.format(1) # ' 1'
'{0:03d}'.format(1) # '001'
'{0:3}'.format(1) # ' 1'
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169790.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySql数据库优化可以从哪几个方面进行?

    MySql数据库优化可以从哪几个方面进行?

    2021年10月15日
    42
  • input file 的美化

    input file 的美化原文链接:Styling&CustomizingFileInputstheSmartWay(作者:OsvaldasValutis)这份教程主要介绍如何将与配合、以保持语义化+可访问性为目标辅以少量Javascript来美化。实例网上流传过一些“自定义”元素的方法,试验过但都实现不了像Readerrr上那种上传文件即时显示到内容流里的效果。兴许最烂

    2022年7月25日
    8
  • 信息系统建模方法_游戏设计师需要掌握什么技能

    信息系统建模方法_游戏设计师需要掌握什么技能信息系统建模方法周中元(本文转载自软件工程专家网www.21cmm.com,不代表gigix观点)   大型信息系统通常十分复杂,很难直接对它进行分析设计,人们经常借助模型来设计分析系统。模型是现实世界中的某些事物的一种抽象表示。抽象的含义是抽取事物的本质特性,忽略事物的其他次要因素。因此,模型既反映事物的原型,又不等于该原型。模型是理解、分析、开

    2022年9月23日
    1
  • java session有效期设置方式「建议收藏」

    java session有效期设置方式「建议收藏」session默认有效期是30分钟,设置session的有效期有三种方法:1.在tomcat中的server.xml中定义:在tomcat中的conf/server.xml文件可以修改服务器上的所有程序的默认有效期,设置单位为毫秒,定义代码如下:<Contextpath=”/test”docBase=”/test”  defaultSessionTimeOut=”360…

    2022年7月12日
    16
  • 领导含泪叮嘱我:MySQL 建表字段记得用 not null,不然就收拾包袱滚蛋

    领导含泪叮嘱我:MySQL 建表字段记得用 not null,不然就收拾包袱滚蛋上午我收到一条短信,内容是“尊敬的null你好,XXX”,当时我就笑了。真是外行看热闹,内行看门道,这是程序员都能Get的笑点,说明程序没有正确从数据库获取到我的姓名,然后把空值格式化为了null。

    2022年6月14日
    16
  • 电力电缆2021年考试题库

    电力电缆2021年考试题库1.不允许带电移动10kV电缆。()×2.直埋电缆的敷设方式适合于电缆根数多的区域。()×3.中性点不接地电力系统发生单相接地时,健全相对地电压升高。()√4.中性点直接接地电力系统发生单相接地时,线电压不变。()×5.电缆敷设过程中应控制侧压力,高压和超高压电缆允许的侧压力一般为()。CA.1kN/mB.2kN/mC.3kN/m6.在交流电压下,随电压作用时间增加,绝缘层击穿场强()。BA.不变B.下降C.上升7.组织电缆线路工程预验收的单位是运行单位。(.

    2022年5月7日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号