本人代码新手orz,发帖记录,如有错误请指正!

方法比较笨

示例:

Please input the price: 42.5

The Chinese form is: 肆拾贰圆伍角

Please input the price: 42.53

The Chinese form is: 肆拾贰圆伍角叁分

Please input the price: 42

The Chinese form is: 肆拾贰圆整


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>void moneychange(double m)
{char a1[][3] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};char a2[][3] = {"拾","佰","仟"};char a3[][3] = {"圆","万","亿"};printf("the Chinese form is:");//先处理整数部分char temp[100];sprintf(temp,"%.0lf",m);int len=strlen(temp);//获取了整数部分的位数int flag=1;//记录非零数前是否是零for(int i=len;i>=1;i--){//提取各位数字int k;k=fmod(m/pow(10,i-1),10);if(k==0){switch(i)//如果此位是零,且在元、万、亿的单位上,则输出对应单位{case 1:printf("%s",a3[0]);break;case 5:printf("%s",a3[1]);break;case 9:printf("%s",a3[2]);break;}flag=0;}else{if(flag==0 )//若非零数前面是零,则这一个非零数要先输出一个“零”printf("零");printf("%s",a1[k]);//输出对应中文数字switch(i%4)//检测此数字在哪个位置,在对应的十百千的位上要带上十百千{case 0 :printf("%s",a2[2]);break;case 3 :printf("%s",a2[1]);break;case 2 :printf("%s",a2[0]);break;}switch(i)//元万亿上则带上元万亿{case 1:printf("%s",a3[0]);break;case 5:printf("%s",a3[1]);break;case 9:printf("%s",a3[2]);break;}flag=1;}}//若输入的m没有小数部分最后要输出“整”,由于m小数部分最多两位,所以做特殊处理//提取小数部分的两位int k1=fmod(m*10,10);int k2=fmod(m*100,10);if(k1==0&&k2==0)printf("整");//处理小数部分if(k1!=0)printf("%s角",a1[k1]);if(k2!=0)printf("%s分",a1[k2]);}int main()
{double m;printf("please input the price:");scanf("%lf",&m);moneychange(m);return 0;
}

c语言实现人民币转换成大写中文数字相关推荐

  1. 将小写人民币转换成大写

    将小写人民币转换成大写 public class MoneyUtil { public static String toChinese(String str) { /** 大写数字 */ String ...

  2. C语言将字符串转换成对应的数字(十进制、十六进制)【转】

    转自:http://wawlian.iteye.com/blog/1315133 问题1:讲一个十进制数字的字符串表示转换成对应的整数.举例:将"1234"转换成整数1234. C ...

  3. php 0改成百 千_php 根据啊拉伯数字转变成大写中文数字

    // 原是是根据用户输入的数字判断再转换成想要的大写数字,如果我们先把大小写存在一个数组,再判断进行转换就OK了. $data = $_POST['rmb']; if (!ereg("^[0 ...

  4. 阿拉伯数字转换成大写的数字

    import java.math.BigInteger;/** * @author 作者 E-mail: * @version 创建时间:2016年9月18日 下午5:26:04 * 类说明 */ p ...

  5. oracle显示人民币,在Oracle中将小写人民币转换成大写

    CREATE OR REPLACE FUNCTION uf_getbig (nsmallmoney NUMBER) RETURN VARCHAR2 /* NAME: UF_GETBIG PURPOSE ...

  6. sql server数字小写人民币转换成大写人民币(两种方式)

    一 create function UpperRMB(@num numeric(14,2)) returns @rmb table( 亿  varchar(2) ,仟万 varchar(2) ,佰万  ...

  7. c语言人民币小写转换成大写,C语言实现人民币小写转大写

    这个是很早之前用C语言实现的人民币小写转大写的方法 /************************************************************************* ...

  8. C语言自学路之将小写数字完美转换成大写数字

    C语言自学路之将小写数字完美转换成大写数字 # define N 6:6位及以内的整数(小数点后不计) PS:中间两条测试数组正确性的可以忽视,我只是每敲一点都喜欢运行测试一下- #include & ...

  9. python数字大小写转换代码_用python实现把数字人民币金额转换成大写的脚本程序...

    # -*- coding: utf-8 -*- def Num2MoneyFormat( change_number ): """ .转换数字为大写货币格式( forma ...

最新文章

  1. 韶音耳机连不上电脑_骨传导耳机哪个牌子好,骨传导耳机推荐
  2. 空间金字塔匹配Spatial Pyramid Matching 小结
  3. SXSSFWorkbook使用——使用excel模板
  4. 苹果如何分屏_刚刚,苹果证实,iPhone12 刘海没了!
  5. python云计算架构开发_云计算开发一般负责什么工作呢?更偏向于运维么?
  6. java 对象排重_现代化的 Java (八)——重说对象序列化
  7. Mac使用OpenCV项目步骤
  8. Mysql学习笔记(二):子查询与连接
  9. json转java对象_java对象与json对象间的相互转换的方法
  10. Minimax博弈算法设计井字棋AI(Golang)
  11. 计算机英语这门课上后感1000,英语公开课观后感作文1000字
  12. 【初学者入门C语言】之习题篇(一)
  13. 基于锚点定位和overflow的选项卡
  14. python sin_Python入门之三角函数sin()函数实例详解
  15. 常见的肾囊肿症状有哪些?
  16. Pentest Wiki Part5 提权
  17. SQL 错误 [40000] [42000]: Error while compiling statement: FAILED
  18. 数据吞吐量高达800亿条!实时计算在贝壳找房的应用实践
  19. 蓝桥杯 算法训练 ALGO-128 Cowboys 递推、动态规划
  20. 漏洞复现- - -IIS解析漏洞在fckEditor上传攻击中的利用

热门文章

  1. 车牌识别一体机二次开发
  2. VScode实现面向二次元编程
  3. 曙光i620c20用户手册_技术白皮书I620-G20
  4. 魔幻光影滤镜(2):仿Redfield Fractalius滤镜
  5. Linux安装NFS
  6. Java判断单链表是否有环的两种实现方法
  7. AltiumDesigner PCB设计规则
  8. 字体的故事之:Arial 无处不在
  9. calendar获取本周一的日期_Swift - 获取本周(或指定日期所在周)的第一天、最后一天日期...
  10. python的str()字符串类型的方法详解