数字转化为汉字金额

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qwer1203355251/article/details/52949531
#include<iostream>
using namespace std;
char *unit[]={"元","十","百","千","万","十","百","千","亿"};
char *num[]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};

char *jiaofen[]={"分","角"};

void fun(int a,int b);
void change(float number);
void change_integer(int integer);
void change_decimal(float decimal);
void fun2(int a,int b);

void change(float number)
{
    int integer;
    float decimal ;
    integer = (int)number;
    decimal = number-integer;
    change_integer(integer);
    change_decimal(decimal);
}
void change_integer(int integer)
{
    fun(integer,0);
}
void fun(int a,int b)
{
    if(a>=10)
        fun(a/10,b+1);
    cout<<num[a%10]<<unit[b];
}
void change_decimal(float decimal)
{
    int a;
    decimal=(decimal+0.005)*100;
    a=(int)decimal;
    fun2(a,0);
}
void fun2(int a,int b)
{
    if(a>=10)
        fun2(a/10,b+1);
    cout<<num[a%10]<<jiaofen[b];
}

int main()
{
    float number;
    cout<<"输入一个小于一亿数: "<<endl;
    cin>>number;
    change(number);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qwer1203355251/article/details/52949531
今日推荐