Python如何将数字变成带逗号的千分位

 更新时间:2022年05月17日 09:14:34   作者:vv安的浅唱  
这篇文章主要介绍了Python如何将数字变成带逗号的千分位,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

将数字变成带逗号的千分位

一个很长的数字,有时候要把它变成千分位的数字,就是以三位数为一个分隔用逗号分开,比如 123,452,354 酱紫。

在Python里实现方法如下

format(12324232345, ',')
Out[2]: '12,324,232,345'

**注意:**输入要为 整型或者浮点型,不能是字符串类型。

增加和去除数字的千位分隔符

千位分隔符,其实就是数字中的逗号。依西方的习惯,人们在数字中加进一个符号,以免因数字位数太多而难以看出它的值。所以人们在数字中,每隔三位数加进一个逗号,也就是千位分隔符,以便更加容易认出数值。

处理财务数据时,经常会和千分位符号打交道。经常看数字时,如果位数很多,往往要一位位的数,才知道具体的金额。如果有千分位符,那么一眼就知道金额的具体大小。目前千分位符在手机银行和计算器中较常见。

现编写2个函数,1个函数输入带千分位符的字符串(带千分位符就不再是数字了)输出数字,另1个函数输入数字(如果数字是小数则只保留小数点后2位)输出带千分位符的字符串。

1.去掉千分位

解析:千分位就是数字中的逗号,直接去掉逗号即可。

input_amount = input()
output_amount = float(input_amount.replace(',',''))
print('去掉千分位后的数字为', output_amount)

2.添加千分位

解析:千分位只针对整数部分,不针对小数部分。

千分位符是从右边开始,每隔3位数添加一个英文逗号,那么先把数字左右倒转(如23456->65432),然后遍历字符串每隔3个字符添加一个英文逗号,然后再次将字符串左右倒转,最后输出结果。

如果输入的数字是整数,流程如上。

如果输入的数字是小数,首先将小数拆分为整数部分和小数部分,最后将处理后的整数部分和原始的小数部分拼接起来作为结果输出。

添加千分位的步骤如下:

1. 拆分成整数部分和小数部分

# 将数字转为字符串
number = 12345
number_str = str(number)
    
# 拆分成整数部分和小数部分
number_str_list = number_str.split('.')
integer_part = number_str_list[0]
decimal_part = None if len(number_str_list) == 1 else number_str_list[1]

2.为整数部分添加千分位

new_integer_part = ''
reversed_integer_part = integer_part[::-1] # 将字符串左右反转
for i, c in enumerate(reversed_integer_part): # 遍历字符,每隔3个字符加逗号
    if i > 0 and i%3 == 0:
        new_integer_part = new_integer_part + ',' + c 
    else:
        new_integer_part += c
new_integer_part = new_integer_part[::-1] # 将字符串左右反转

3.将整数部分和小数部分整合

if decimal_part:
    print('添加千分位后数字变为', new_integer_part + '.' + decimal_part)
else:
    print('添加千分位后数字变为', new_integer_part)

wmsofts

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python字符串、整数、和浮点型数相互转换实例

    Python字符串、整数、和浮点型数相互转换实例

    今天小编就为大家分享一篇Python字符串、整数、和浮点型数相互转换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Django配置kafka消息队列的实现

    Django配置kafka消息队列的实现

    本文主要介绍了Django配置kafka消息队列的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • python+selenium实现163邮箱自动登陆的方法

    python+selenium实现163邮箱自动登陆的方法

    本篇文章主要介绍了python+selenium实现163邮箱自动登陆的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Python使用matplotlib填充图形指定区域代码示例

    Python使用matplotlib填充图形指定区域代码示例

    这篇文章主要介绍了Python使用matplotlib填充图形指定区域代码示例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 如何解决pycharm中用matplotlib画图不显示中文的问题

    如何解决pycharm中用matplotlib画图不显示中文的问题

    这篇文章主要介绍了如何解决pycharm中用matplotlib画图不显示中文的问题,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06
  • 使用python画社交网络图实例代码

    使用python画社交网络图实例代码

    这篇文章主要给大家介绍了关于如何使用python画社交网络图的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Transformer导论之Bert预训练语言解析

    Transformer导论之Bert预训练语言解析

    这篇文章主要为大家介绍了Transformer导论之Bert预训练语言解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Python中playwright启动浏览器与常见运行方式详解

    Python中playwright启动浏览器与常见运行方式详解

    Playwright是一个功能强大的工具,可以帮助开发人员自动化测试、网页截图、信息提取等任务,本文主要介绍了如何使用Playwright来启动浏览器,感兴趣的可以了解下
    2024-05-05
  • 如何搭建pytorch环境的方法步骤

    如何搭建pytorch环境的方法步骤

    这篇文章主要介绍了如何搭建pytorch环境的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Python使用missingno模块轻松处理数据缺失

    Python使用missingno模块轻松处理数据缺失

    missingno是一个基于Python的开源数据可视化工具,旨在帮助数据分析师和科学家更好地理解和处理数据缺失,下面我们就来看看如何使用missingno处理数据缺失吧
    2024-02-02

最新评论