c数字货币转换为大写
Ⅰ c语言 数字转换为大写钱币
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
string ConvertMoneyCaps(long double moneySum)
{
long int temp_i = (long int)moneySum; /**//* 整数部分 */
float temp_f = moneySum - temp_i; /**//* 小数部分 */
int digit = 0, i, j, k, num_i;
string money("");
char num[20], *p;
char name[][3] = {"元","拾","佰","仟","万","亿"};
char numchar[][3] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
ltoa(temp_i, num, 10); /**//* 整数部分转换成字符串后在处理 */
p = num;
digit = strlen(num); /**//* 整数部分位数 */
/**//*--------处理整数部分 start--------*/
for(i = 1; i <= digit; i ++)
{
k = (digit - i) % 4;
if(isdigit(*p))
{
num_i = *p & 0xF; /**//* 把字符转换成数字,比如 '0'-> 0,'1' -> 1*/
/**//*--------转换数字开始---------*/
if(num_i)
{
money = money+ numchar[num_i];
}
else
{
if(k && (*(p + 1) &0xF))
money += "零";
}
/**//*--------转换数字结束-------*/
/**//*---------添加计数单位开始----*/
if(k)
{
if(num_i)
money = money + name[k];
}
else
{
j = digit - i;
if(j)
money = money + name[j/4 + 3];
else
money += "元";
}
/**//*--------添加计数单位结束--------*/
p++;
}
else
{
money = "遇到非数字退出!";
return money;
}
}
/**//*--------处理整数部分 End --------*/
/**//*--------处理小数部分 start--------*/
if(temp_f > 0.01)
{
if((int)(temp_f*10)) money = money + numchar[(int)(temp_f*10)] + "角";
if((int)(temp_f*100)%10) money = money + numchar[(int)(temp_f*100)%10] + "分";
}
/**//*--------处理小数部分 End--------*/
money += "整";
return money;
}
int main()
{
long double x = 33.20;
cout << "please input the money:";
cin >> x;
cout << "Convert Money Caps:";
string money = ConvertMoneyCaps(x);
cout << money <<endl;
return 0;
}
Ⅱ 电子表格里的数字货币金额怎样转换成中文大写
第一种方法�复制红字体部分至需大写金额单元格=TEXT(INT(B12),"[DBNum2]G/通用格式")&"元"&IF((INT(B12*10)-INT(B12)*10)=0,IF((INT(B12*100)-INT(B12)*100)>0,"零",""),TEXT(INT(B12*10)-INT(B12)*10,"[DBNum2]G/通用格式")&"角")&IF((INT(B12*100)-INT(B12*10)*10)=0,"整",TEXT(INT(B12*100)-INT(B12*10)*10,"[DBNum2]G/通用格式")&"分") B12为小写金额所在单元格�� 第二种方法�复制红字体部分至需大写金额单元格=IF(ROUND(B12,2)<0,"无效数值",IF(ROUND(B12,2)=0,"零",IF(ROUND(B12,2)<1,"",TEXT(INT(ROUND(B12,2)),"[dbnum2]")&"元")&IF(INT(ROUND(B12,2)*10)-INT(ROUND(B12,2))*10=0,IF(INT(ROUND(B12,2))*(INT(ROUND(B12,2)*100)-INT(ROUND(B12,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(B12,2)*10)-INT(ROUND(B12,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(B12,2)*100)-INT(ROUND(B12,2)*10)*10)=0,"整",TEXT((INT(ROUND(B12,2)*100)-INT(ROUND(B12,2)*10)*10),"[dbnum2]")&"分")
Ⅲ 帮个忙写个C语言程序,关于把数字转换成人民币大写
首先,取位数,分出来十,百,千什么的
把钱数分别存出来,可以存到数组里,然后从高位取,如果高位都是0,就过去
到第一个不是0的开始,对应的输出大写汉字一,二,三....
输出一个,在后面加上单位,就是十,百千那些
我就不给你写了
不是很难的
好好想想吧
Ⅳ Excel 怎样将数字货币转化为大写货币
=TEXT(RMB(A1),"[=]g;"&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),"零角",IF(A1^2<1,,"零")),"零分","整"))
Ⅳ C语言编程:数字金额转换为中文大写金额
先生,这个代码在Linux下用gcc编译通过了。
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <locale.h>
wchar_t cstrs[10];
wchar_t bit[10];
int main()
{
cstrs[0]=0x96F6;cstrs[1]=0x58F9;cstrs[2]=0x8D30;
cstrs[3]=0x53C4;cstrs[4]=0x8086;cstrs[5]=0x4F0D;
cstrs[6]=0x9678;cstrs[7]=0x67D2;cstrs[8]=0x634C;
cstrs[9]=0x7396;
bit[0]=0x5706;bit[1]=0x62FE;bit[2]=0x4F70;
bit[3]=0x4EDF;bit[4]=0x842C;bit[5]=0x62FE;
bit[6]=0x4F70;bit[7]=0x4EDF;bit[8]=0x5104;
bit[9]=0x62FE;bit[10]=0x4F70;bit[11]=0x4EDF;
bit[12]=0x842C;
setlocale(LC_ALL, "");
double innum;
int k=0; int tmp=1;
scanf("%lf", &innum);
while(tmp<innum){
k+=1; tmp*=10;
}
if(tmp>innum){k--; tmp=tmp/10;}
if(k<0){k=0, tmp=1;}
int e, ee, t=0;
e=(int)innum;
while(e>=1){
ee = (int)e/tmp;
if(ee!=0){
if(t){
printf("%lc",cstrs[0]);
t=0;
}
printf("%lc", cstrs[ee]);
printf("%lc", bit[k]);
} else {
t=1;
if(k==8 || k==4)printf("%lc",bit[k]);
}
k--; e=e%tmp; tmp=tmp/10;
}
long et;
et=(long)(innum*10); printf("%lc%lc",cstrs[et%10], 0x89D2);
et=(long)(innum*100); printf("%lc%lc",cstrs[et%10], 0x5206);
puts("");
return 0;
}
例如:
输入:
256000023.22
输出:
贰亿伍仟陆佰万零贰拾叄圆贰角贰分
Ⅵ 电子表格里的数字货币金额怎样转换成中文大写 爱说篇
直接使用 鼠标右键 “自定义单元格格式”==》特殊==》中文大写即可。
如果不满意,试试这:
=NUMBERSTRING(1234567890,1)
参数1可以修改 ,123456..是假设数字,可以改为单元格名称
还不行就试试:
=SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A1)),"[>0][dbnum2];[<0]负[dbnum2];;")&TEXT(RIGHT(FIXED(A1),2),"元[dbnum2]0角0分;;"&IF(ABS(A1)>1%,"元整",)),"零角",IF(ABS(A1)<1,,"零")),"零分","整")
其中A1是假设数据的单元格。
Ⅶ 如何在excel中将数字货币变成中文大写货币
这个比较容易啊!假设是 23.68元 ,选中这个单元格-右键-设置单元格格式—特殊—(右边的)中文大写数字
Ⅷ 电子表格里的数字货币金额怎样转换成中文大写 好看网
在设置单元格格式里选择货币,如果想转为大写,选特殊--中文大写数字
Ⅸ 求C语言程序实现人民币小写转大写
就是int y0 = X%10. int y1 = x % 100.....获取多少亿之类的。
在创建一个转化的方法,用switch来做。可以将小写的数字转化为大写。最后就是输出问题了。。