价格数字转换成大写汉字的一个类
/****************************以下是头文件******************************/
class CNumToHan
{
public:
CString Chang(CString num);
CString ChangNum(int num);
CNumToHan();
virtual ~CNumToHan();
};
/****************************以下是实现文件******************************/
#include "stdafx.h"
#include "NumToHan.h"
CNumToHan::CNumToHan()
{
}
CNumToHan::~CNumToHan()
{
}
CString CNumToHan::ChangNum(int num)
{
if(num<0||num>9)return "错";
CString str;
str.Format("%d",num);
CString s="0123456789";
CString h[10]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return h[s.Find(str,0)];
}
CString CNumToHan::Chang(CString num)
{
CString str,str1;
CString m_cUint[16]={"毫","厘","分","角","元","拾","佰","仟","万",
"拾","佰","仟","亿","拾","佰","仟"};
int m_iIn;
int m_iLoc;//小数点位置
int m_iZero=0;
bool m_bZeroEnd=false;
if(num.Find(".",0)==-1)
m_iLoc=num.GetLength();
else
m_iLoc=num.Find(".",0);
for(int i=0;i<num.GetLength();i++)
{
if(num.GetAt(i)=='.')continue;
if(num.GetAt(i)=='0')
{
if(i==0)continue;
m_iZero++;
if(num.GetLength()==(i+1))
m_bZeroEnd=true;
}
else
if(m_iZero>0)m_bZeroEnd=true;
str=num.GetAt(i);
m_iIn=atoi(str);
if(m_iZero<=0||m_bZeroEnd)
{
if(m_iZero>0&&m_iIn>0){str1+="零";m_iZero=0;m_bZeroEnd=false;}
str1+=ChangNum(m_iIn);
if(m_iZero>0&&m_iIn==0){str1=str1.Left(str1.GetLength()-2);m_iZero=0;}
str1+=m_cUint[m_iLoc+3];
}
if((m_iLoc==9||m_iLoc==5)&&m_iZero>0)
{
bool m_b=true;
if((str1.Right(2)=="亿"&&m_cUint[m_iLoc+3]=="万"))
m_b=false;
if(m_b)str1+=m_cUint[m_iLoc+3];
m_iZero=0;
}
m_iLoc--;
}
return str1;
}
价格数字转换成大写汉字的一个类相关推荐
- C小程序-将输入的数字转换成大写汉字
C小程序-将输入的数字转换成大写汉字C int money,count=0;int i=0;int moneys[6];//定义了输入数字的最高位数char unit[10][2]={"零& ...
- js将数字转换成大写汉字
<html><head><meta http-equiv="Content-Type" content="text/html; charse ...
- 使用 C# 将数字转换成大写人民币
贴段最近在项目中用到的一个函数. 因涉及到财务,需要把数字符转换成大写人民币汉字,于是自己动手写了一个,使用的算法比较笨,各位看客不要笑啊. 可转换数字大小在10亿以下,超过的,就无能为力了,不过大家 ...
- 小写数字转换成大写数字
前两天看到一道题,关于小写数字转换成大写的.也就是将"1023050405"这样的数字转换为"十亿二千三百零五万零四百零五". 这个是个算法问题,其它语言也是相 ...
- 将(123)数字转换成大写数字(壹,贰,弎)
此方法 将(123)数字转换成大写数字(壹,贰,弎) RMBUtils.toChineseUnit()
- java 数字转换成汉字_Java-String-阿拉伯数字转换成中文汉字数字
package com.test; public class NumberUtils { private static final String[] UNITS = { "", & ...
- 【简单易懂】Java字符串应用场景:数字金额转换成大写汉字金额【金额转换】
Java字符串应用场景:数字金额转换成汉字金额 文章目录 Java字符串应用场景:数字金额转换成汉字金额 前言 一.String简单介绍 二.字符串在开发中的应用场景 三.金额转换 3.1解题思路 3 ...
- C语言中把小写字符串转换成大写用函数,一个容易的将小写字符串转换成大写的函数...
一个简单的将小写字符串转换成大写的函数 我用的是VC++6.0,恳请大家帮忙看看到底哪里出错了. #include void uppers(char *Dest,char *Sour) { while ...
- php数值变成函数,PHP实现金额数字转换成大写函数
最近做一个财务的一个功能,其中有一个地方需要将阿拉伯数字形式的金额显示成大写(老写)的汉字形式,于是有了下面的代码... function num_to_upper($num) { $d = arra ...
最新文章
- SVM讲的成体系的,自圆其说较好的一篇,上午没读完,KKT第二部分不等式有疑问没弄懂,复制后继续读完
- 日志服务器搭建之多服务器日志转发与格式化处理
- Android 动态刷新listview中的数据
- Linux文件查找工具之find “大宝剑”--转载
- Dataset之LSUN:LSUN数据集的简介、安装、使用方法之详细攻略
- php安装soap扩展
- swoole mysql 连接池_基于Swoole的通用连接池 - 数据库连接池
- 桌面虚拟化之PCoIP访问协议硬卡介绍
- MongoDB简单CRUD场景
- 电脑下载python3.5.2教程_Win10系统如何搭建Python 3.5.2开发环境
- error:“Unexpected namespace prefix xmlns found for tag LinearLayout”
- 使用docker搭建db2数据库
- 中级软件设计师知识点总结
- exdoll机器人_打造国内领先的定制化人工智能机器人品牌, EXDOLL新品惊艳亮相_TOM新闻...
- springboot设置session超时和session监听
- python 之 yield
- pe装kali linux,二、整合老毛桃PE + Kali Linux
- 51单片机GSM模块的家庭火灾报警系统设计
- oracle数据库dca,达梦数据库DCA考试经历
- YXCMS靶场实验报告
热门文章
- 微信小游戏Banner广告
- php导出大数据scv
- Android仿腾讯手机管家实现桌面悬浮窗小火箭发射的动画效果
- U盘杀毒后文件不见/找回
- 【深度学习】BioBERT文章翻译及个人感悟
- SpringBoot后台java下载文件及注意的地方
- lsdyna如何设置set中的node_list_如何理解vue的双向绑定
- USB无法debug调试:because an app is obscuring a permission request settings cab't verify your resonse
- 想拿高工资?Java面试资料集合,附赠课程+题库
- Android熄屏与亮屏控制