社区
C++ 语言
帖子详情
怎样用C/C++ 把[人民币数字]转化成[人民币大写]
isoftman
2005-11-23 02:56:40
对一给定字符串,如:1234.55,转换成正确的中文货币描述:
如:人民币壹仟贰佰叁拾四元五角五分
...全文
586
4
打赏
收藏
怎样用C/C++ 把[人民币数字]转化成[人民币大写]
对一给定字符串,如:1234.55,转换成正确的中文货币描述: 如:人民币壹仟贰佰叁拾四元五角五分
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shipotianjing
2005-11-23
打赏
举报
回复
#include<iostream>
using namespace std;
void main()
{
double RMB;
cout<<"Please input the numbers of RMB:\n";
cout.setf(ios_base::showpoint);
cout.setf(ios_base::fixed,ios_base::floatfield);
cout.precision(2);
cin>>RMB;
int a=1,b,i=0,s[20];
b=(int)(RMB*100);
while(b!=0)
{
s[i]=b%10;
i++;
b=b/10;
}
int *p=new int[i];
for(int j=i-1;j>=0;j--)
{
p[i-1-j]=s[j];
}
for(int m=0;m<i;m++)
{
cout<<p[m]<<" ";
}
return;
}
只是从高位到低位顺序输出各位数字,不完整,还望高人指点.
whizstorm
2005-11-23
打赏
举报
回复
char* itoa_( int ii_source, char* &opc_dest, int& oi_dest)
{//itoa调用该函数后要释放函数中动态分配的空间
int i = 0, ti_source = ii_source;
for( ; ; )//得到位数即字符数目
{
if ( (ti_source /= 10) != 0 )
{
++oi_dest;
continue;
}
++oi_dest;
break;
}
opc_dest = (char*)malloc(oi_dest*sizeof(char));
if( ii_source >= 0 )//负数处理
ti_source = ii_source;
else
ti_source = -ii_source;
for( i = 0; i < oi_dest; ++i ) //处理字符数
{
opc_dest[oi_dest-i-1] = ti_source%10;
ti_source /= 10;
}
if( ii_source < 0 )//处理下负数
opc_dest[0] = -opc_dest[0];
return opc_dest;//返回地址需要释放
}
whizstorm
2005-11-23
打赏
举报
回复
很简单,参照函数 itoa()
lukeguo
2005-11-23
打赏
举报
回复
1、将数字转化为字符串,然后逐位翻译成汉字(‘0’-> "零",'1'-> "壹",...),并加单位(拾、佰、仟、万),零不加。
2、标准化处理:如1008直接翻译为壹千零零捌元,但正确为壹千零零捌元整。
自己再琢磨一下吧,还有几个地方要处理。
转变
数字
为
大写
人民币
格式
将
数字
转变为
大写
的
人民币
格式输出比如 1024356 输出为:一百零拾二万四千三百五拾六
把
数字
转换成
人民币
大写
形式【C/
C++
】
(转自:http://www.cnitblog.com/jackrain/archive/2005/10/14/3293.aspx) 把阿拉伯
数字
钱币转换汉字
大写
形式是经常要用到的,这里就用C/
C++
来实现之。首先我们把
数字
分成两部分:整数部分+小数部分;分离很简单,就是用m - (int)m就可以了。(m为金额)。因为对于
人民币
来说,小数只留两位即可,所以小数部分很容易实现。对于整数部分,只要实现2点,一是要把
数字
转换成汉字
大写
,比如
数字
2,转换成贰。再一点就是加上计数单位,
c语言阿拉伯
数字
转
大写
,
c++
阿拉伯
数字
转化为中文
大写
新手就是新手,这样一个看似简单的程序也想了好多天,最后还是看了提示,琢磨了一阵才写出来的。(提示是将阿拉伯
数字
从右到左,每四个分为一组,再将每一组转化为几仟几佰几拾几的形式,再将他们组合成为万,亿兆的形式),上代码。#include using namespace std; int count(int input) //计算
数字
的长度 { int output=0; if(input==0...
C++
实现小写金额转化为
大写
金额
C++
实现小写金额转化为
大写
金额 1.目标 输入小写
数字
字符串 输出
大写
金额字符串 类似: 2.实现代码与流程 对需要用到的字符: string stringNum; string unitInt[] = { "整", "元" };//整数单位 string unit[] = {"仟","", "拾","佰"}; string words[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };//
大写
数字
string unitDecimals
C语言实现
人民币
金额转换成中文
大写
本篇文章介绍了如何使用C语言实现
人民币
金额转换为中文
大写
的功能。我们先将输入的金额分为整数部分和小数部分,然后再分别将它们转换为中文
大写
,并拼接在一起。接着,我们需要将小数部分的
数字
转换为中文
大写
。例如,输入的金额为1234.56,那么我们需要将56转换为中文
大写
,即“伍角陆分”。我们需要输入一个
人民币
金额,然后将其转换为中文
大写
。首先,将输入的
人民币
金额取整,得到整数部分。最后,我们将整数部分和小数部分的中文
大写
拼接在一起,得到最终的结果。
人民币
金额转换成中文
大写
是一项很常用的功能。
C++ 语言
65,189
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章