C++ 实现小写金额转化为大写金额

C++ 实现小写金额转化为大写金额

1.目标
输入小写数字字符串
输出大写金额字符串

类似:
在这里插入图片描述
2.实现代码与流程
对需要用到的字符:

string stringNum;
string unitInt[] = { "整", "元" };//整数单位
string unit[] = {"仟","", "拾","佰"};
string words[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };//大写数字
string unitDecimals[] = { "角", "分" };//小数单位

小数点前后书写规则不一样
(1)小数位
首先获得小数位
输入字符串_s 转化为double

double num= atof(_s.c_str());

取整:

int intNum = static_cast<int> (num);

小数部分:

double decimals = num - intNum;t<int> (num);

小数部分的几种情况:

string decimals_s;
	if (num == 0)
	{
		return "";
	}
	if (decimals == 0)//没有小数部分
	{
		decimals_s = unitInt[0];
	}
	else
	{
		int num_01 = decimals / 0.1;
		int num_001 = decimals / 0.01 - 10 * num_01;
		if (num_001 == 0)
		{
			decimals_s = words[num_01] + unitDecimals[0];
		}
		else if (num_01 == 0)
		{
			dec
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值