把中文汉字大写数字 转换成 阿拉伯数字,如十万一千一百十二 变成 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转化成中文大写,阿拉伯数字转成中文大写
1、该dll能将阿拉伯数字转换为汉字数字或者中文大写金额。例如1234567.07可转换为: “一百二十三万四千五百六十七点零七”或“壹佰贰拾叁万肆仟伍佰陆拾柒圆零柒分”。 目前支持正负千亿以内(整数部分不超过12位)...
将阿拉伯数字转换为大写数字,主要解决小数点问题,
独立开发,实测可用, 将阿拉伯和中文数字组合的字符串转成阿拉伯数字的整型 包。例如: “八万三千20”就可以转成整型 803020 。解压后,引用包。调用方法 在UnitTest.java 中有
mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。
16位以内阿拉伯数字转中文大写VB源代码 自己写的代码,欢迎提意见,多多交流
人民币数字转换成汉字大写 android Java 运行效率
js实现将阿拉伯数字转换为中文大写数字。 js实现将阿拉伯数字转换为中文大写数字。
java 阿拉伯数字转化中文大写。包括小数点的操作。是转化的源代码。可以参考这修改出所需格式。
将阿拉伯数字转化成汉字金钱 如1234.45转化为壹仟贰佰叁拾肆元肆角伍分
sql server阿拉伯数字转大写中文存储过程
环境:vs2005 C# 功能:阿拉伯数字转换为中文大写数字
阿拉伯数字转换为中文大写
用C#编写的数字转换成中文大写的窗体程序
阿拉伯数字转换中文大写(全:大到无量,小到清净) 周末趁热打铁赶了一整天终于写完成并粗鲁测试了一下,发布出来欢迎大家测试交流,如果有发现问题请给我留言,谢谢!如果您用了欢喜,那么,请欢喜合掌,就是我得到回报...
会计大小写,把阿拉伯数字变中文大写,,,,,,,,,,,,
java程序代码,阿拉伯数字转化为大写
用java实现将阿拉伯数字转换为金额的汉字大写
本例子将数字以汉字中的大写数字表示形式显示在页面中。例如“78.79”转换城”“柒拾捌元柒角玖分