怎样转换金额从数字到大写?谢谢!
解决方案 »
- 求助,线程传参问题
- MFC中如何通过移动鼠标来改变一副图片的亮度,也就是对比度啊?
- 深受no1kwl启发,发个程序员必看的类: CGirl,顺便完善了一下no1kwl的程序 哈哈 :)
- 我想学习开发ACTIVEX控件,100分求电子版教材!!!
- 急问!!为何加载不了图标?
- 疑问?这样的帖子也可以是 FAQ ????????????
- ■□■WIndows工具栏中的地址栏是怎样实现的?■□■
- 这个问题怎么解决:没有使用'c:\prob.mdb'对象的必要权限。请让系统管理员或安装此对象的人为您设置适当的权限。
- Google Map定位监测问题
- 焦点,送分?
- sos!
- 如何拦接键盘输入并替换成别的字符输入到程序中,比如word.最好能给出例子!谢谢
{
// TODO: Add extra validation here
float f = 12345.25;
CString num[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
CString bit[] = {"","拾","佰","仟","万","亿"};
CString x,s,t;
int n;
s.Format ("%f",f);
int i = s.Find (".");
if ( i > 12 ) return;
i--;
for (int j=0;j <= i;j++)
{
n = char(s.GetAt (i-j)) -48 ;
if ( j == 8) x = bit[5];
else x = bit[j%5];
t = num[n] + x + t;
}
t += "圆";
i = i+2;
n = char(s.GetAt (i)) -48 ;
t += num[n] + "角";
i++;
n = char(s.GetAt (i)) -48 ;
t += num[n] + "分";
m_strUp = t ;//m_strUP 是edit的string变量
UpdateData(FALSE);
}
#include <string.h>
const char* RMB(double rmb)
{
if(rmb<0) return NULL;
static char *CCC[10]={ //Capital form of Chinese character
"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"
};
static char *QQQ[19]={"分","角",".","圆","拾","佰","仟","万","拾","佰","仟","亿",
"拾","佰","仟","万","拾","佰","仟"
};
static char result[256],tmp[256];
sprintf(tmp,"%.2lf",rmb);
if(strlen(tmp)>19) return NULL; int i=strlen(tmp)-1,c;
char *srcPtr=tmp,*dstPtr=result;
bool bPrevZero=false;
for(; *srcPtr; srcPtr++,i--) {
if(*srcPtr=='.') continue;
c=*srcPtr-'0';
if(c!=0) {
strcpy(dstPtr,CCC[c]); dstPtr+=2;
if(srcPtr==tmp && c==1 && strcmp(QQQ[i],"拾")==0) dstPtr-=2;
strcpy(dstPtr,QQQ[i]); dstPtr+=2;
bPrevZero=false;
continue;
} if(bPrevZero) {
if(strcmp(QQQ[i],"圆")==0 || strcmp(QQQ[i],"万")==0 || strcmp(QQQ[i],"亿")==0) {
dstPtr-=2; *dstPtr=0;
if(strcmp(dstPtr-2,"亿")) {strcpy(dstPtr,QQQ[i]); dstPtr+=2;}
bPrevZero=false;
}
} else {
if(strcmp(QQQ[i],"圆") && strcmp(QQQ[i],"万") && strcmp(QQQ[i],"亿")) {
strcpy(dstPtr,"零"); dstPtr+=2;
bPrevZero=true;
}else {
strcpy(dstPtr,QQQ[i]); dstPtr+=2;
bPrevZero=false;
}
}
} i=strlen(result);
if(strcmp(result+i-2,"零")==0) result[i-2]=0;
tmp[0]=result[0]; tmp[1]=result[1]; tmp[2]=0;
if(strcmp(tmp,"圆")==0) {
if(result[2]==0) strcpy(result,"零圆");
else {
tmp[0]=result[2]; tmp[1]=result[3]; tmp[2]=0;
return strcmp(tmp,"零")==0 ? result+4 : result+2 ;
}
}
return result;
}
1、CString bit[] = {"万","拾","佰","仟","亿",""};
2、if ( j== 0 ) x = bit[5];
else if ( j == 8) x = bit[4];
else x = bit[j%4];
3、double f = 1234567890.25;