⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lgnumber.cpp

📁 把阿拉伯数字转化为中文数字的软件
💻 CPP
字号:
// LGNumber.cpp: implementation of the LGNumber class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
//#include "NUMBER.h"
#include "LGNumber.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

LGNumber::LGNumber()
{

}

LGNumber::~LGNumber()
{

}



CString LGNumber::fToChineseText(CString strIn)
{
	Calculate(strIn);
	return m_8;
}

CString LGNumber::fToChinesePrice(CString strIn)
{
	Calculate(strIn);
	return m_9;

}

void LGNumber::Calculate(CString strIn)
{
	//m_1
	m_1=strIn;
	CString numNum="0123456789.";
	CString numChina="零壹贰叁肆伍陆柒捌玖点";
	CString numChinaWeigh="个拾佰仟万拾佰仟亿拾佰仟万拾佰仟亿";
	

	m_1.Format("%.2f",atof(m_1));
	m_2=m_1;
	m_3=m_4="";
	//m_2:1234->壹贰叁肆
	for(int i=0;i<11;i++)
	{
		m_2.Replace(numNum.Mid(i,1),numChina.Mid(i*2,2));
	}

	//m_3:佰拾万仟佰拾个
	int iLen =m_1.GetLength();
	if (iLen>16)
	{
		m_8=m_9="越界错!";
		return;
	}
	if (m_1.Find('.')>0)
		iLen=m_1.Find('.');

	for(i=iLen;i>=1;i--)
	{
		m_3+=numChinaWeigh.Mid((i-1)*2,2);
	}
	//m_4:2行+3行

	for(i=0;i<m_3.GetLength();i+=2)
	{
		m_4+=m_2.Mid(i,2)+m_3.Mid(i,2);
	}
	//m_5:4行去"0"后拾佰仟

	m_5=m_4;
	m_5.Replace("零拾","零");
	m_5.Replace("零佰","零");
	m_5.Replace("零仟","零");
	//m_6:00->0,000->0

	m_6=m_5;
	for(i=0;i<20;i++)
		m_6.Replace("零零","零");
	
	//m_7:6行去亿,万,个位"0"
	m_7=m_6;
	m_7.Replace("亿零万零","亿零");
	m_7.Replace("亿零万","亿零");
	m_7.Replace("零亿","亿");
	m_7.Replace("零万","万");
	if (m_7.GetLength()>4)
		m_7.Replace("零个","个");

	//m_8:7行+2行小数->数目
	m_8=m_7;
	m_8.Replace("个","");
	if(m_2.Right(6).Compare("点零零")!=0)
		m_8+=m_2.Right(6);
	
	//m_9:7行+2行小数->价格
	m_9=m_7;
	m_9.Replace("个","圆");
	if(m_2.Right(6).Compare("点零零")!=0)
	{
		m_9+=m_2.Right(4);
		m_9.Insert(m_9.GetLength()-2,"角");
		m_9+="分";
	}
	else m_9+="整";
	if(m_9!="零圆整")
		m_9.Replace("零圆","");
	m_9.Replace("零分","整");

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -