例如: 192.37 得到: 壹佰玖拾贰元叁角柒分
刚刚在CSDN上面看到的,觉得还挺有意思的就做来看看。做完后对比一下别人那些C#跟java的代码写了一大段……汗,果然还是C/C++的数组操作方便。
#include<iostream>
#include<string>
using namespace std;
const wchar_t num[]=L"零壹贰叁肆伍陆柒捌玖";
const wchar_t wei[]=L"万仟佰拾亿仟佰拾万仟佰拾元角分";
void change(double price)
{
wchar_t result[257]={0};
int i=255,j=14,m;
bool iszero=false;
m=price*100;
while(m)
{
if(iszero)
{
if((j%4)==0)
result[i--]=wei[j--];
else
j--;
if((m/10)%10)
iszero=false;
}
else
{
if(m%10)
{
result[i--]=wei[j--];
result[i--]=num[m%10];
iszero=false;
}
else
{
if((j%4)==0)
result[i--]=wei[j--];
else
{
j--;
if(j<12)
result[i--]=num[m%10];
}
if(!(m/10)%10)
iszero=true;
}
}
m=m/10;
}
wcout<<(result+i+1)<<endl;
}
int main()
{
wcout.imbue( locale("chs") );
change(101101.01);
return 0;
}
代码风格写得太难看了,不过C++的static_cast实在太长了,还是用C风格的强制转换算了。用char字符的话会乱码……只好用unicode字符了……
分享到:
相关推荐
本发明涉及一种基于深度学习模型的地址匹配算法,该算法能够将海量不规范不标准地址匹配转换为标准地址。该算法首先利用结巴(jieba)中文分词库对语料库中的地址进行分词,然后利用词向量(Word2vec)模型进行地址词...
在MFC中实现数字到汉字大写的转换,可以创建一个函数,接受一个double或int作为参数,返回一个表示汉字大写的字符串。该函数可以使用字符串模板(std::string)和MFC的 CString 类来处理和返回结果。同时,利用MFC的...
标题 "用C++编写数字转换成汉字大写的程序" 提示我们要探讨的是如何利用C++编程语言将阿拉伯数字转换为汉字大写,这种转换在银行、财务等对账单有明确要求的领域尤为常见。汉字大写数字通常用于增强财务记录的清晰度...
### MATLAB中文本类型和数值类型的转换与元胞数组详解 #### 一、引言 MATLAB作为一种广泛应用于科学计算、数据分析、算法开发等领域的高级编程语言,提供了丰富的工具和函数来处理不同类型的数据。其中,文本类型...
### 数据结构与算法Java中文概览 #### Java与面向对象...以上内容概述了《数据结构与算法java中文》的主要知识点,涵盖了从编程基础到高级数据结构与算法的全面介绍,旨在为学习者提供系统化的理论指导和实践指南。
“Double Levenshtein算法”是Levenshtein距离的一种变体,通常用于计算字符串之间的编辑距离,即需要多少次单字符插入、删除或替换操作才能将一个字符串转换为另一个。在中文地址匹配中,这个算法可以帮助量化两个...
- **基本数据类型**:Java提供了八种基本数据类型,包括四种整型(byte、short、int、long)、两种浮点型(float、double)、一种字符型(char)以及布尔型(boolean)。每种数据类型都有其固定的字节大小。 - **...
《数字图像处理的MATLAB实现第二版》是深入学习图像处理技术的重要参考资料,由(美)冈萨雷斯等人撰写,并由阮秋琦翻译成中文。这本书涵盖了数字图像处理的多个核心领域,包括灰度变换与空间滤波、频域处理、图像重建...
- **基本数据类型及运算**:介绍Java中的基本数据类型,如整型(`int`, `long`, `short`, `byte`)、浮点型(`float`, `double`)、字符型(`char`)等,并探讨这些类型的运算规则。 - **流程控制语句**:包括条件...
`NumGetStr`方法负责将输入的Double类型的数值转换为中文大写字符串,而`LowercaseGetCap`方法则用于将数字字符串转换为中文大写形式,且提供了是否进行位数反转的选项。 ### 二、核心变量及数组定义 在类中定义了...
### 数据结构与算法(JAVA语言版)(中文版) #### 一、Java与面向对象程序设计 本章节作为开篇,旨在为读者打下坚实的Java编程基础,为后续深入学习数据结构与算法奠定理论基石。 ##### 1.1 Java语言基础知识 *...
在IT行业中,中文地址处理是一项重要...总之,中文地址分词和匹配是信息技术领域中的关键问题,通过混合分词算法和Double Levenshtein算法,我们可以有效地应对中文地址的非标准化挑战,为各种应用场景提供精准的服务。
通过这些知识点的组合应用,我们可以构建一个完整的“C#翻译算法”实现,将中文数字字符串有效地转换为C#的数值类型。这个过程既涉及到了语言级别的操作,也涵盖了设计模式的运用,体现了编程灵活性和可扩展性的重要...
- **目标**:将double类型的金额数值转换为符合中国会计标准的中文大写格式。 - **原则**: 1. 数值中的小数点使用“,”表示。 2. 处理金额范围在0到100000000之间,超出此范围需特殊处理。 3. 针对0的情况,需要...