数字转中文大写=> 1234=> 一千二百三十四
# -*- coding: utf-8 -*-
# 最大值:九兆九千九百九十九亿九千九百九十九万九千九百九十九
import re
p = ['', '十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千', '兆']
s = ['', '一', '二', '三', '四', '五', '六', '七', '八', '九']
def num2zh(num_str):
res = ''
t = list(str(num_str))
t.reverse()
for idx, tmp in enumerate(t):
if int(tmp) == 0:
res = '零' + res
if idx % 4 == 0 and idx > 0:
res = p[idx] + res
continue
res = s[int(tmp)] + p[idx] + res
# 零+ -> 零
out = re.sub(r'(\xe9\x9b\xb6)+', '零', res)
# 零万 -> 万
out = re.sub(r'\xe9\x9b\xb6\xe4\xb8\x87', '万', out)
# 一十 -> 十
out = re.sub(r'(^\xe4\xb8\x80\xe5\x8d\x81)', '十', out)
# 零亿 -> 亿
out = re.sub(r'\xe9\x9b\xb6\xe4\xba\xbf', '亿', out)
# 亿万 -> 亿
out = re.sub(r'\xe4\xba\xbf\xe4\xb8\x87', '亿', out)
# 兆亿 -> 兆
out = re.sub(r'\xe5\x85\x86\xe4\xba\xbf', '兆', out)
# 去掉最后的零
out = re.sub(r'(\xe9\x9b\xb6)$', '', out)
return out
print(num2zh(1234))
数字转中文大写=> 1234=> 一千二百三十四的更多相关文章
- 数据库的范式,第一、二、三、四、五范式、BC范式
数据库的规范化(上一篇博客有写到)的程度不同,便有了这么多种范式.数据库范式是数据库设计必不可少的知识,没有对范式的理解,就无法设计出高效率.优雅的数据库,甚至设计出错误误的数据库.课本中的定义比较抽 ...
- java实现数字转中文大写
package cn.aikang.ChineseC; import java.util.Scanner; /** * @Description: TODO(这里用一句话描述这个类的作用) * @Au ...
- 【OBJC】数字转中文大写
博客园都不知道怎么外链图片…… - (void)numToString:(double)num{ ; NSMutableString *szChMoney = [[NSMutableString al ...
- PHP人民币金额数字转中文大写的函数
<?php header("Content-Type:text/html;charset=utf-8"); error_reporting(2); function cny( ...
- SQL 数字转为中文大写
USE [SPECIAL_BLD]GO SET ANSI_NULLS ONGO SET QUOTED_IDENTIFIER ONGO CREATE FUNCTION [dbo].[get_upper] ...
- Android笔记三十四.Service综合实例二
综合实例2:client訪问远程Service服务 实现:通过一个button来获取远程Service的状态,并显示在两个文本框中. 思路:如果A应用须要与B应用进行通信,调用B应用中的getName ...
- Python学习日记(三十四) Mysql数据库篇 二
外键(Foreign Key) 如果今天有一张表上面有很多职务的信息 我们可以通过使用外键的方式去将两张表产生关联 这样的好处能够节省空间,比方说你今天的职务名称很长,在一张表中就要重复的去写这个职务 ...
- Java开发学习(三十四)----Maven私服(二)本地仓库访问私服配置与私服资源上传下载
一.本地仓库访问私服配置 我们通过IDEA将开发的模块上传到私服,中间是要经过本地Maven的 本地Maven需要知道私服的访问地址以及私服访问的用户名和密码 私服中的仓库很多,Maven最终要把资源 ...
- 第六百一十二、三、四、五天 how can I 坚持
上火了啊..已经2017了,真快,人生只是一瞬间,到头来都是一场空. 2016年最后一天,很悲催,没赶上火车.还不能改签,哪能哪次都这么幸运,长记性了,下午到济南,看了看弟弟的房子,到挺不错,就是装修 ...
随机推荐
- IntelliJ IDEA中,mybatis的配置文件(map.xml)无法编译到class文件夹下
编译工具:IntelliJ IDEA 项目结构:maven 项目框架:SSM 问题:java目录下,mybatis的配置文件(map.xml)无法编译到class文件夹下 问题原因:在idea中,直接 ...
- Petr#(字符串哈希)
CF113B Petr# 大概就是字符串匹配加一个字符串哈希判重.懒得打kmp,就用字符串哈希匹配了. 字符串哈希大概就是把字符串转成一个p进制的数,每一段字符串都有一个对应的哈希值.p尽量取质数,这 ...
- SqlServer体系结构
1.SQL的ABC 特色 (1) Application 应用:理念是提供软件.硬件.服务在内的完整解决方案 (2) Box盒子: 传统部署方式.部署在企业内部. (3)Cloud: 私有云 .公有云 ...
- oracle常用密令大全
1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba t ...
- ArchLinux安装Gnome桌面
给Arch安装Gnome桌面美化及常用软件配置 一.创建普通用户 1.安装zsh 个人比较喜欢的一个shell,你们可以和我不同 # pacman -S zsh 2.创建用户 kain是我创建用户的名 ...
- redis常用命令--基础
redis默认有个数据库,下标从开始,不支持自定义数据库名字. 使用select index 切换数据库 : select 7 (切换到第八个数据库) dbsize:求当前数据库中键值对的数量. ...
- SpringCloud学习之Stream消息驱动【自定义通道】(十一)
如果不清楚本篇内容的,请务必先去看完上一篇再看本篇,否则阅读起来可能会有部分障碍和困难: 上一篇文章<SpringCloud学习之Stream消息驱动[默认通道](十)>我们简单用自定义通 ...
- Java执行js加密算法
Java执行js加密算法 今日需求:在后端执行一段加密算法,算法是js写的 明白需求以后疯狂百度.最后发现JDK提供了各种脚本的支持(怪笔者学艺不精,第一次见识到这个库,留下不学无术的泪水),正题开始 ...
- jquery---利用jquery插件生成二维码
<script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/jquer ...
- Git 学习 day01
Tips:最近的工作中需要用到版本控制工具git,所以准备开一个分类用来记录下自己学到的知识,以备以后温习 在安装完git之后需要设置用户名和用户邮箱: $ git config --global u ...