将阿拉伯数字转换成中文

python练习题--阿拉伯数字转换成中文数字 python练习题–阿拉伯数字转换成中文数字 用户输入任意阿拉伯数字,如【123456】,把它转换成中文数字【壹拾贰万叁仟肆佰伍拾陆】 以前面试时面试官问的问题,当时没能答出来,今天初步解决,把它记录下来,也是有点意义的。本题并不完善,不包括0(包括0的格式问题尚未解决),纯属提供一个思路(获取位数的思路) ```python def switch_num(num): """把数字转换成中文""" if type(num) != int: return None e 阅读详情

源文出版:http://darkbull.net/101/%E5%B0%86%E9%98%BF%E6%8B%89%E4%BC%AF%E6%95%B0%E5%AD%97%E8%BD%AC%E6%8D%A2%E6%88%90%E4%B8%AD%E6%96%87

    周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文。程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用。

源码
测试代码

#!/usr/bin/python
#-*- encoding: utf-8 -*-

import types

class NotIntegerError(Exception):
    pass

class OutOfRangeError(Exception):
    pass

_MAPPING = (u'零', u'一', u'二', u'三', u'四', u'五', u'六', u'七', u'八', u'九', )
_P0 = (u'', u'十', u'百', u'千', )
_S4, _S8, _S16 = 10 ** 4 , 10 ** 8, 10 ** 16
_MIN, _MAX = 0, 9999999999999999

def _to_chinese4(num):
    '''转换[0, 10000)之间的阿拉伯数字
    '''
    assert(0 <= num and num < _S4)
    if num < 10:
        return _MAPPING[num]
    else:
        lst = [ ]
        while num >= 10:
            lst.append(num % 10)
            num = num / 10
        lst.append(num)
        c = len(lst)    # 位数
        result = u''
        
        for idx, val in enumerate(lst):
            if val != 0:
                result += _P0[idx] + _MAPPING[val]
                if idx < c - 1 and lst[idx + 1] == 0:
                    result += u'零'
        
        return result[::-1].replace(u'一十', u'十')
        
def _to_chinese8(num):
    assert(num < _S8)
    to4 = _to_chinese4
    if num < _S4:
        return to4(num)
    else:
        mod = _S4
        high, low = num / mod, num % mod
        if low == 0:
            return to4(high) + u'万'
        else:
            if low < _S4 / 10:
                return to4(high) + u'万零' + to4(low)
            else:
                return to4(high) + u'万' + to4(low)
            
def _to_chinese16(num):
    assert(num < _S16)
    to8 = _to_chinese8
    mod = _S8
    high, low = num / mod, num % mod
    if low == 0:
        return to8(high) + u'亿'
    else:
        if low < _S8 / 10:
            return to8(high) + u'亿零' + to8(low)
        else:
            return to8(high) + u'亿' + to8(low)
       
def to_chinese(num):
    if type(num) != types.IntType and type(num) != types.LongType:
        raise NotIntegerError(u'%s is not a integer.' % num)
    if num < _MIN or num > _MAX:
        raise OutOfRangeError(u'%d out of range[%d, %d)' % (num, _MIN, _MAX))
    
    if num < _S4:
        return _to_chinese4(num)
    elif num < _S8:
        return _to_chinese8(num)
    else:
        return _to_chinese16(num)
    
if __name__ == '__main__':
    print to_chinese(9000)
    
    
阿拉伯数字转换成中文读法的C语言程序 记一道评论区的题目 ​ 导语 : 作为一个西电的菜鸡 , 每天只能和不超过两天的ddl较劲 , 啥也不懂 , 啥也不会. 因为家里硬盘不太够了所以把作业的代码传到博客里保存. 可以预见到的 , 遭到了真正大佬的嘲笑. 其中 , 二哥在讨论区里留下一道题目 , 我觉得还挺有意思的. 所以试着实现了一下 , 作为博客的第二篇拙作. 1.题目 ​ 分析一下 , 是想实现一个小写数字到中文大写数字的转化. 那么 , 如果我们想要实现这个功能 , 首先我们要重新回顾一下中文数字的读法和英文读法的区别. 2. 阅读详情

相关推荐

delphi阿拉伯数字转换成中文写法

把阿拉伯数字转为汉字写法比如123456789转化为零壹贰叁肆伍陆柒捌玖,以及几百几千几万的数字都可以转化

阿拉伯数字简单转中文数字

#!/usr/bin/env python # -*- coding: utf-8 -*- import re import sys chinesedict = {} chinesedict['0'] = '零' chinesedict['='] = '幺' chinesedict['1'] = '一' chinesedict['2'] = '二' chinesedict['3'] = '三' c...

u012361418的博客 629

AutoGenTestCase - AI大模型生成测试用例

AI技术助力高效软件测试:AutoGenTestCase工具介绍 传统手工测试存在效率低、覆盖不全等痛点。AutoGenTestCase工具集成DeepSeek、通义千问等AI大模型,能快速解析需求并自动生成标准化测试用例,将数小时工作缩短至分钟级。该工具部署简单,仅需配置APIKey即可运行,支持多种测试用例类型比例设置,并输出Markdown和Excel格式的测试用例。通过GitHub或网盘下载后,用户可按照教程完成APIKey配置、需求文档上传和用例生成等操作,显著提升测试效率与覆盖完整性。

YIqifeibaQI的博客 347

阿拉伯数字转中文数字

// 数字 public static String[] mChineseNumber = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"}; // 数字单位,当下只支持到:亿 public static String[] mChineseNumberUnit = {"十", "佰", "千", "万", "十万", "百万", "千万"...

青衫禅客的博客 507

PyTorch实战:3D U-Net医学图像分割从零搭建(附完整代码)

本文详细介绍了如何使用PyTorch从零搭建3D U-Net模型进行医学图像分割,涵盖三维卷积实现、模块化架构设计、医学图像专属优化策略及完整训练流程。通过实战代码演示,帮助开发者掌握UNet-3D在CT、MRI等三维医学图像分割中的应用,提升肝脏肿瘤分割、肺结节检测等任务的准确性。

weixin_29061997的博客 329

BLE蓝牙胎压监测

胎压监测系统新技术

qq_41851841的博客 1255

微信小程序wxs将数字转换为汉字

/** * 将数字(整数)转为汉字 * @param num * @description 从零到一亿亿,需要小数的可自行截取小数点后面的数字直接替换对应arr1的读法就行了 */ var convertToChinaNum = function (num) { var arr1 = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; var arr2 = ['', '十', '百', '千', '万', '十', '百', '千', '

GarenWang的博客 1782

深入解析以太网接口中的BOB Smith电路设计

本文深入解析以太网接口中的BOB Smith电路设计,详细介绍了其在共模噪声抑制、浪涌防护和EMI优化中的关键作用。通过实际案例和设计要点,帮助工程师正确选择75Ω电阻和高压电容等元件,优化PCB布局,解决电压型与电流型PHY的设计差异,以及千兆与百兆以太网的特殊考量。

weixin_28339967的博客 687

delphi中文数字转阿拉伯数字

项目中使用,网上找不到,自己写了一个 type   TChnnum=record     rate:integer;     str:string;   end;   const chndigit:array[0..9]of Char=('零','一','二','三','四','五','六','七','八','九'); function TTabbedwithNa

csaaa2005的专栏 897

用Python玩转共现分析:从NLTK到热力图可视化(附完整代码)

本文详细介绍了如何使用Python进行文本共现分析,从NLTK基础文本处理到构建共现矩阵,并实现热力图可视化。通过完整的代码示例,帮助数据分析师和开发者掌握这一揭示词语间关联网络的实用NLP技术,快速从文本中提取语义关系和主题结构。

weixin_29313817的博客 349

经典密码体制(上)

头歌

shannidawang的博客 3086

JavaScript实现将阿拉伯数字转换成中文或大写中文

现在有需求将亿元之内的阿拉伯数字转换成中文,例如:1234转换后变为一千二百三十四再转换成壹仟贰佰叁拾肆,所以本文给大家介绍了用JavaScript实现将阿拉伯数字转换成中文大写,感兴趣的小伙伴跟着小编一起来看看吧

共同学习,共同成长 3622

基于STM32设计的4G远程视频侦查小车(图传+远程控制+EMQX+MQTT)(204)

当前设计了一款基于STM32F103ZET6主控芯片和废旧Android手机改造的4G侦查小车。该设计充分利用已有的智能手机硬件资源,实现摄像头画面的实时采集与上传,以及远程控制功能。这样的设计不仅降低了成本,而且充分利用了废旧手机中高性能的硬件资源,如摄像头、4G通信模块和电池等,实现了资源的有效循环利用。

2529

阿拉伯数字转换成中文读法

给定一个阿拉伯数字,然后将数字转换成中文的读法。这几天在连续两个笔试中遇到了这道题,结果都有些悲剧了,趁今天有时间,怒写一记算法。 public static String readNum(String s){ String[] unitStrings={"","十","百","千","万","十","百","千","亿","十"}; S

Json随笔 5291

HyperLynx(二十二)DDR(五)DDRx总线时序模型设计

DDR3 的数据选通信号与时钟信号的频率是一样的,在数据选通信号写操作时,控制器典型的输出方式是数据选通信号边沿与时钟近似对齐。该界面中显示了所有需要编辑的参数,包括地址/命令信号的时序、控制信号的时序、读和写操作的数据选通和数据信号时序、写操作的数据选通和数据掩码信号时序,以及建立和保持时间的降额参数。由于DDRx总线对时序的要求非常严格,随着速率的提升,时序的要求会更高。反之也是一样的,如果数据选通信号的上升沿在时钟信号上升沿的后面到达 DRAM,那么数据选通信号的下降沿就会在时钟信号的前面到达。

小幽余生不加糖 1936

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

python里面如何将数字转换成中文的形式_python中将阿拉伯数字转换成中文的实现代码...

#!/usr/bin/python#-*- encoding: utf-8 -*-import typesclass NotIntegerError(Exception):passclass OutOfRangeError(Exception):pass_MAPPING = (u'零', u'一', u'二', u'三', u'四', u'五', u'六', u'七', u'八', u'九', )...

weixin_29157533的博客 1905

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

将阿拉伯数字转换成中文大写金额的形式

问题:编写控制台程序,用户输入阿拉伯数字的金额,系统自动转换成中文大写金额的形式输出。 例如:输入458796; 转换为:肆拾伍万捌仟柒佰玖拾陆。 问题分析:既然是数字大小写转换,那么我们这样考虑问题:先最高考虑到千万级别。那么我们把这个数抽象成由个、十、百、千、万这么几个位组成。 ...

qq_42242380的博客 2544

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C#实现的【阿拉伯数字转换成中文大写金额】代码(原创)

以下C#代码实现了将阿拉伯数字转换成中文大写金额的功能,并Visual Studio.NET 2003 下调试基本通过(未经严格测试,希望各位发现错误后与作者联系fanz2000@sohu.com,或直接在csdn上回帖告知)。代码的主调函数为ConvertSum,它的参数是string类型的数字字符串。在ASP.NET中调用方式如下:Label1.Text=ConvertSum("数字字符串

fanz2000的专栏 6322

C#实现的【阿拉伯数字转换成中文大写金额】代码

 以下C#代码实现了将阿拉伯数字转换成中文大写金额的功能,并Visual Studio.NET 2003 下调试基本通过(未经严格测试,希望各位发现错误后与作者联系fanz2000@sohu.com,或直接在csdn上回帖告知)。代码的主调函数为ConvertSum,它的参数是string类型的数字字符串。在ASP.NET中调用方式如下:Label1.Text=ConvertSum("数字

1582

将数字转换成对应的中文 将阿拉伯数字翻译成中文的大写数字

function tm_NumberToChinese(num) { var AA = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"); var BB = new Array("", "十", "百", "仟", "萬", "億", "点", ""); var a = ("" + num).r

wym1581的专栏 5697

将阿拉伯数字转换成中文数字

private static string[] cstr = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" }; //定义数组 private static string[] wstr = { "", "", "十" }; public string ConvertChinese(string str) ...

weixin_30507269的博客 133

java练习:金额转换,阿拉伯数字转换成中文传统形式

import java.util.Scanner; public class Test2 { public static void main(String[] args) { // TODO Auto-generated method stub long num = 101000001010l;//一千零一十亿零一千零一十圆整 num = 1010l;//一千零一十亿零一千零一

fmi110的博客 2864

python中如何将数字转换成中文数字_Python实现中文数字转换为阿拉伯数字的方法示例...

本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法。分享给大家供大家参考,具体如下:一、需求今天写了三千二百行代码。今天写了3200行代码。两行意思相同,只是表达方式不太能够,统一掉。二、原理数字的特征是 数字 + 单位,例如三百,四十二,九千零二可以从后往前遍历,遇到的是0到9的数字,就乘以前一位的单位,遇到新的单位(十百千万)就替换成数字供下一个数字用。三、举例五百四十三1. 三...

weixin_39929259的博客 697

如何把excel里面中文小写数字转换成阿拉伯数字

今天跟大家分享一下如何把excel里面中文小写数字转换成阿拉伯数字 1.打开要处理的Excel文件 2.将E列数据复制一份到F列中并选中 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细解说。) 4.单击【数值】菜单下的【中文数字转换】 5.勾选【中文转阿拉伯数字】 6.最后点击【确定】就可以了 7.完成效果如下图 ...

ffcell2016的博客 6727

js将阿拉伯数字转换成中文的大写数字

js将阿拉伯数字转换成中文的大写数字 export const numberToChinese = (num) => { var AA = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"); var BB = new Array("", "十", "百", "仟", "萬", "億", "点", ""); var a = ("" + num).replace(/(^0*)/g, "").split(

web_code_farmer的博客 4417
上一篇: 在CentOS中设置TrackPoint
下一篇: python访问纯真IP数据库
JGood
博客等级 码龄20年 498粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值