Python解决“数字字符串千分位转化”问题

embedded/2025/2/13 6:16:05/

Python解决“数字字符串千分位转化”问题

  • 问题
    • 样例
  • 解决
    • 代码

问题

A在工作时遇到了一个问题,他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式,并且保留小数部分。A还发现,有时候输入的数字字符串前面会有无用的 0,这些也需要精简掉。请你帮助A编写程序,完成这个任务。

样例

样例1:

输入:s = “1294512.12412”
输出:‘1,294,512.12412’

样例2:

输入:s = “0000123456789.99”
输出:‘123,456,789.99’

样例3:

输入:s = “987654321”
输出:‘987,654,321’

解决

字符串处理和格式化输出的知识,是一道典型的字符串处理问题。
题目要求将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式,并且保留小数部分。同时,输入的数字字符串前面可能会有无用的 0,这些也需要精简掉。核心信息是处理整数部分和小数部分,分别进行格式化,并在整数部分添加千分位逗号。

使用 split 方法可以根据指定的分隔符将字符串分割成多个部分。
使用 format 方法可以对字符串进行格式化输出,例如添加千分位逗号。
rstrip 方法用于去除字符串末尾指定的字符。

代码

python">from collections import Counterdef solution(s:str) -> str:# 分割小数整数部分if '.' in s:integer_part, decimal_part = s.split('.')else:integer_part, decimal_part = s, None# 讲整数部分分为,千分位制("{:,}" 是格式化字符串的一种方式,表示在数字中插入千分位逗号。)formatted_integer = "{:,}".format(int(integer_part))# 拼接小数和整数部分if decimal_part:s = formatted_integer + '.' + decimal_partelse:s = formatted_integer# 要删除多余的0部分return s.rstrip('0').rstrip('.')if __name__ == '__main__':print(solution(s = "1294512.12412"))print(solution(s = "0000123456789.99"))print(solution(s = "987654321"))

输出:
1,294,512.12412
123,456,789.99
987,654,321


http://www.ppmy.cn/embedded/161801.html

相关文章

JavaScript设计模式 -- 适配器模式

在软件开发中,经常会遇到这样的情况:现有的类或第三方库提供的接口与系统中期望的接口不匹配。如果直接修改已有代码风险较大或者不可行,这时适配器模式(Adapter Pattern)就能派上用场。适配器模式通过创建一个包装类&…

debian和ubuntu安装python3.8并修改默认python版本

下载python 获取python3.8源码 wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz 解压并进入python文件夹 tar -zxvf Python-3.8.0.tgz cd Python3.8.0 配置编译选项 ./configure 编译并下载 make && sudo make install ps:install…

如何使用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天

手把手教你用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天 目录 文章目录 手把手教你用**Java**语言在**Idea**和**Android**中分别建立**服务端**和**客户端**实现局域网聊天**目录**[toc]**基本实现****问题分析****服务端**Idea:结构预览Server类代码解…

java项目之基于SSM会议管理系统的设计与实现源码(ssm+mysql)

项目简介 基于SSM会议管理系统的设计与实现实现了以下功能: 基于SSM会议管理系统的设计与实现的主要使用者分为:管理员登录后修改个人的密码。用户管理中,对公司内的用户进行管理,包括会议管理员和员工,管理部门信息…

多模态模型详解

多模态模型是什么 多模态模型是一种能够处理和理解多种数据类型(如文本、图像、音频、视频等)的机器学习模型,通过融合不同模态的信息来提升任务的性能。其核心在于利用不同模态之间的互补性,增强模型的鲁棒性和准确性。 如何融合…

Deepseek PHP API调用指南

本文将介绍如何通过 PHP 调用 Deepseek API,并通过简易代码展示如何与 Deepseek 的 AI 模型进行交互,帮助开发者更好地在自己的项目中应用这一强大的工具。我们将提供一个基本的 PHP 示例,帮助你快速了解如何通过 Deepseek API 进行调用。 以…

【音视频】ffmpeg android端调试指南

背景: 本文旨在Android端导入和调试ffmpeg使用,作为工具文档简化初次入门使用难度。 下载 FFmpeg源码: git clone https://github.com/FFmpeg/FFmpeg.git 编译FFmpeg源码: 创建Android端编译脚本: #!/bin/bash AP…

tenda路由器WriteFacMac存在远程命令执行漏洞(CVE-2024-10697)

一、漏洞简介 tenda路由器WriteFacMac存在远程命令执行漏洞 二、漏洞影响 tenda路由器三、网络测绘: fofa: title"Tenda | LOGIN"四、复现过程 POC 1 GET /goform/WriteFacMac?macls%20%3E/webroot/1.txt HTTP/1.1 Accept: text/html,application/…