把中文汉字大写数字 转换成 阿拉伯数字,如十万一千一百十二 变成 101112.
#include <stdio.h>
#include <string.h>
/*
* 注意字符串的比较用strcmp();
*/
int change(const char [][3]);
int match(const char *);
int is_flag(const char *);
int main(void)
{
char orig[][3]={"十", "万","一", "千", "一","百","十","二","#"};
printf("Answer is %d\n",change(orig));
return 0;
}
int change(const char orig[][3])
{
int i=0;
int sum=0;
int cur;
int flag;
while(strcmp(orig[i], "#") != 0)
{
cur = match(orig[i]);
flag = is_flag(orig[i]);
if(flag == 0) //字符为“零”
i++;
else if(flag > 0)//字符为1-10时
if(strcmp(orig[i+1], "#") != 0)
{
if(is_flag(orig[i+1]) == 1) //当 十后面 为数字时,例如十二
sum+=cur;
else //当 十后面 为量级时, 例如十万
sum+=cur*match(orig[++i]);
i++;
}
else //当字符为量级时,如“百”
{
sum+=cur;
i++;
}
else
{
sum+=cur;
++i;
}
}
return sum ;
}
int match(const char * str)
{
if(strcmp(str, "零")==0 ) return 0;
else if(strcmp(str, "一") == 0) return 1;
else if(strcmp(str, "二") == 0) return 2;
else if(strcmp(str, "三") == 0) return 3;
else if(strcmp(str, "四") == 0) return 4;
else if(strcmp(str, "五") == 0) return 5;
else if(strcmp(str, "六") == 0)return 6;
else if(strcmp(str, "七") == 0) return 7;
else if(strcmp(str, "八") == 0) return 8;
else if(strcmp(str, "九") == 0) return 9;
else if(strcmp(str, "十") == 0) return 10;
else if(strcmp(str, "百") == 0) return 100;
else if(strcmp(str, "千") == 0) return 1000;
else if(strcmp(str, "万") == 0) return 10000;
else return -1;
}
int is_flag(const char * str)
{
if(match(str)>=1 && match(str)<=10) return 1;
else if(match(str) == 0) return 0;
else return -1;
}
分享到:
相关推荐
汉语大写数字转换成阿拉伯数字。支持如下转换 '一千二百二十一万九千三百五十七亿一千二百二十一万九千零五十七', '一千二百二十一', '一千零十', '一万零一百', '一千零十一', '一万零一百十一', '一千二百...
前台页面,通过js转化成中文大写,阿拉伯数字转成中文大写
在Java编程语言中,将中文数字转换为阿拉伯数字是一个常见的需求,特别是在处理中文文本数据时。这个场景下,我们有一个名为“中文数字转成阿拉伯数字 java 实现”的压缩包,包含了一个实现此功能的Java包和一个单元...
1、该dll能将阿拉伯数字转换为汉字数字或者中文大写金额。例如1234567.07可转换为: “一百二十三万四千五百六十七点零七”或“壹佰贰拾叁万肆仟伍佰陆拾柒圆零柒分”。 目前支持正负千亿以内(整数部分不超过12位)...
将阿拉伯数字转换为大写数字,主要解决小数点问题,
将大写数字转换为阿拉伯数字
在编程领域,尤其是在中文编程环境中,有时我们需要将阿拉伯数字转换为汉字大写,这在财务、会计等领域的报表和凭证中尤为常见。易语言作为一款中国本土开发的、以中文编程为特色的编程语言,提供了方便的方式来实现...
mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。
"阿拉伯数字转换为中文大写" 阿拉伯数字转换为中文大写是将阿拉伯数字转换为中文大写数字的过程。在这个过程中,我们需要使用数组来存储中文大写数字和单位,然后通过遍历阿拉伯数字字符串,逐个将数字转换为中文...
Excel 中将阿拉伯数字转换成中文大写数字的函数方式是使用自定义函数 NumberString(),该函数可以将阿拉伯数字转换成中文大写数字。下面是使用该函数的步骤: 首先,在 A1 单元格输入一个数值,然后在 B1 单元格...
16位以内阿拉伯数字转中文大写VB源代码 自己写的代码,欢迎提意见,多多交流
人民币数字转换成汉字大写 android Java 运行效率
SQL Server 是一个功能强大且广泛应用的关系数据库管理系统,而阿拉伯数字转大写中文是一个常见的需求,例如,在财务报表、发票printing等应用场景中,需要将阿拉伯数字转换为大写中文以满足特定的格式要求。...
在IT领域,尤其是在财务软件开发或数据处理中,经常需要将阿拉伯数字金额转换为中文大写,以便在财务报表、发票或合同中清晰准确地表示金额。这是因为中文大写数字在金融交易中能减少因书写错误导致的混淆,增强财务...
首先,让我们讨论如何在C语言中实现中文数字到阿拉伯数字的转换。中文数字包括个、十、百、千、万等单位,需要通过识别这些单位并进行相应的数学运算来转换。例如,“一”代表1,“二”代表2,“三”代表3,“十”...
标题 "用C++编写数字转换成汉字大写的程序" 提示我们要探讨的是如何利用C++编程语言将阿拉伯数字转换为汉字大写,这种转换在银行、财务等对账单有明确要求的领域尤为常见。汉字大写数字通常用于增强财务记录的清晰度...
根据提供的文件信息,可以看出这是一个Java程序,用于将阿拉伯数字转换为中文大写形式,并且能够处理包含小数点的情况。接下来我们将对这个程序的关键部分进行详细的解析与解释。 ### 核心知识点概述 1. **数据...
在IT行业中,尤其是在财务软件开发或者银行系统设计中,经常需要将阿拉伯数字金额转换成大写数字金额,以便于核对、防止错误和提高安全性。这是因为大写数字在视觉上与阿拉伯数字有所区别,可以降低欺诈风险。本例子...
在IT领域,中文数字转换阿拉伯数字是一个常见的编程需求,尤其在中国的文化背景下,有时需要将中文表述的数字转化为阿拉伯数字用于计算或数据处理。这个任务涉及到自然语言处理(NLP)和字符串处理技术,通常通过...
环境:vs2005 C# 功能:阿拉伯数字转换为中文大写数字