阿拉伯数字转中文数字

发布时间:2024年01月05日

经过观察会发现规律,就是十百千这三个单位会不断重复。比如在万到亿之间是十万百万千万,亿以上也会有十亿百亿千亿。

所以…

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

string itos(long long num) {
    // 4 万
    // 8 亿
    vector<string> unit{"", "十", "百", "千", "万", "", "", "", "亿"};
    vector<string> digit{"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};

    int cnt = 0, base = 0;
    string ans;
    while (num) {
        int bit = num % 10;
        num /= 10;
        if ((cnt % 4) == 0) ans += unit[cnt]; // 万和亿
        ans += unit[cnt % 4];
        ans += '0' + bit;
        cnt++;
    }
    reverse(ans.begin(), ans.end());
    return ans;
}

int main() {
    long long num = 123456789999L;
    cout << itos(num) << endl;
    return 0;
}
文章来源:https://blog.csdn.net/vcj1009784814/article/details/135408220
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。