python取出字符串中的小数_Python-小数,字符串常用格式处理

参数格式化

字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加;使用":", 指定代表元素需要的操作, 如":.3"小数点三位, ":8"占8个字符空间等;还可以添加特定的字母, 如:

'b' - 二进制. 将数字以2为基数进行输出.

'c' - 字符. 在打印之前将整数转换成对应的Unicode字符串.

'd' - 十进制整数. 将数字以10为基数进行输出.

'o' - 八进制. 将数字以8为基数进行输出.

'x' - 十六进制. 将数字以16为基数进行输出, 9以上的位数用小写字母.

'e' - 幂符号. 用科学计数法打印数字, 用'e'表示幂.

'g' - 一般格式. 将数值以fixed-point格式输出. 当数值特别大的时候, 用幂形式打印.

'n' - 数字. 当值为整数时和'd'相同, 值为浮点数时和'g'相同. 不同的是它会根据区域设置插入数字分隔符.

'%' - 百分数. 将数值乘以100然后以fixed-point('f')格式打印, 值后面会有一个百分号.

数字(0, 1, ...)即代表format()里面的元素, 所以可以使用"."调用元素的方法;

age = 25

name = 'Caroline'

print('{0} is {1} years old. '.format(name, age)) #输出参数

print('{0} is a girl. '.format(name))

print('{0:.3} is a decimal. '.format(1/3)) #小数点后三位

print('{0:_^11} is a 11 length. '.format(name)) #使用_补齐空位

print('{first} is as {second}. '.format(first=name, second='Wendy')) #别名替换

print('My name is {0.name}'.format(open('out.txt', 'w'))) #调用方法

print('My name is {0:8}.'.format('Fred')) #指定宽度

小数格式处理

round()

一定要注意它不是简单的四舍五入,而是ROUND_HALF_EVEN的策略。一般不介意使用

round()如果只有一个数作为参数,不指定位数的时候,返回的是一个整数,而且是最靠近的整数(这点上类似四舍五入)。但是当出现.5的时候,两边的距离都一样,round()取靠近的偶数,这就是为什么round(2.5) = 2。当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的这样情况,如果要取舍的位数前的小树是奇数,则直接舍弃,如果偶数这向上取舍。看下面的示例:

>>> round(2.635, 2)

2.63

>>> round(2.645, 2)

2.65

>>> round(2.655, 2)

2.65

>>> round(2.665, 2)

2.67

>>> round(2.675, 2)

2.6

math模块的ceil(x) 取大于或者等于x的最小整数。

math模块的floor(x) 去小于或者等于x的最大整数。

>>> from math import ceil, floor

>>> round(2.5)

2

>>> ceil(2.5)

3

>>> floor(2.5)

2

>>> round(2.3)

2

>>> ceil(2.3)

3

>>> floor(2.3)

2

>>>

使用格式化

效果和round()是一样的。

>>> a = ("%.2f" % 2.635)

>>> a

'2.63'

>>> a = ("%.2f" % 2.645)

>>> a

'2.65'

>>> a = int(2.5)

>>> a

2

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python,有几种方法可以格式字符串来保留小数位数。 方法一:使用百分号格式字符串。可以使用"%.2f"的格式来保留两位小数。例如: ```python a = 3.1415926 print("%.2f" % a) # 输出结果为3.14 ``` 方法二:使用round内置函数来进行四舍五入处理。例如: ```python s = 12.345 a = round(s, 2) print(a) # 输出结果为12.35 ``` 方法三:使用decimal模块来进行精确计算和保留小数。例如: ```python from decimal import Decimal s = 12.3445 a = Decimal(s).quantize(Decimal('0.00')) print(a) # 输出结果为12.34 ``` 方法四:使用切片来截取小数位数。例如: ```python s = 12.345 a = str(s).split('.') s1 = a + '.' + a<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python 怎么保留小数](https://blog.csdn.net/ekcchina/article/details/124769183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python保留小数的方法](https://blog.csdn.net/m0_46090675/article/details/117038785)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值