数字转换为金额(c实现)

//c代码:只实现基本功能
//
//缺点:只支持万元以下的数值(这个是可以改进的),小数只有2位,只能到分
//
//比较好的就是,连续的0只输出一个零
//
//如:10010 输出:1万零1十

#include "stdio.h"
#include "conio.h"
#include "string.h"
int main()
{
int i=1,j=1,k;
char *y={"\0"};
printf("请输入金额:");
scanf("%s",y);
while(strcmp(*(y+i),'.')!=0) //查找小数点
i++;
for(k=0,j=i;j>=0;j--,k++) //分离整数
{if(*(y+k)!='0')
switch(j){
case 1:printf("%c",*(y+k));break;
case 2:printf("%c十",*(y+k));break;
case 3:printf("%c百",*(y+k));break;
case 4:printf("%c千",*(y+k));break;
case 5:printf("%c万",*(y+k));break;
default:break;
}
else if((*(y+j)=='0')&&(*(y+j+1)!='0')&&k<i-1) printf("零"); //连续多个0输出一个零
}

printf("元");
if(i!=strlen(y))
printf(".%c 角%c 分",*(y+i+1),*(y+i+2));//小数点后面的输出,只保持输出2位

getch();
}


09年在公司写的,可惜那个时候公司是用VB做开发的,不稀罕我这小C代码。。。

请尊重原创,转载请注明出处,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值