读取文本中的数用英文转换过来
前些天朋友公司的考试题,他们跟我说了,我没事做了做。简单的实现了一下。里面有的英文单词不对,不想改了,呵呵,反正就是这个意思。代码写的有点冗余,但功能还是实现了。不过只做了四位数的。
namespace CountNum
{
class Program
{
static void Main(string[] args)
{
Dictionary<int, string> dicGeEnglishGeWei = GetGeWei();
Dictionary<int, string> dicGetEnglishShiWei = GetShiWei();
Dictionary<int, string> dicGetDuble = GetDubleRead();
//读取数字文本
string[] textNums = File.ReadAllLines("1.txt", Encoding.UTF8);
string[] saveTestEnglish = new string[textNums.Length];
for (int i = 0; i < textNums.Length; i++)
{
Match match = Regex.Match(textNums[i], @"\d[1-9]");
//int number = int.Parse(textNums[i]);
string number = textNums[i];
if (match.Success)
{
switch (number.Length)
{
case 1:
//个位数的英文读入
int ge = int.Parse(number);
saveTestEnglish[i] = dicGeEnglishGeWei[ge];
break;
case 2:
if (number[0] == '1')
{
int shi = int.Parse(number);
saveTestEnglish[i] = dicGetDuble[shi];
}
else
{
saveTestEnglish[i] = dicGetEnglishShiWei[SubS(number)] + dicGeEnglishGeWei[SubS((int.Parse(number) - 1).ToString())];
}
break;
case 3:
if (number[1] == '1')
{
saveTestEnglish[i] = dicGeEnglishGeWei[SubS(number)] + " hunred and" + dicGetDuble[int.Parse(number.Substring(1))];
}
else
{
saveTestEnglish[i] = dicGeEnglishGeWei[SubS(number)] + " hunred and" + dicGetEnglishShiWei[SubS(number.Substring(1))] + dicGeEnglishGeWei[SubS(number.Substring(2))];
}
break;
case 4:
if (number[2] == '1')
{
saveTestEnglish[i] = dicGeEnglishGeWei[SubS(number)] + " thousand " + dicGeEnglishGeWei[SubS(number.Substring(1))] + " hunred and" + dicGetDuble[int.Parse(number.Substring(2))];
}
else
{
saveTestEnglish[i] = dicGeEnglishGeWei[SubS(number)] + " thousand " + dicGeEnglishGeWei[SubS(number.Substring(1))] + " hunred and" + dicGetEnglishShiWei[SubS(number.Substring(2))] + dicGeEnglishGeWei[SubS(number.Substring(3))];
}
break;
default:
break;
}
}
else
{
saveTestEnglish[i] = "Error";
}
}
for (int j = 0; j < saveTestEnglish.Length; j++)
{
Console.WriteLine(saveTestEnglish[j]);
}
Console.Read();
}
/// <summary>
/// 截取位数上的数
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
static int SubS(string num)
{
int danwei = 0;
danwei = int.Parse(num.Substring(0, 1));
return danwei;
}
/// <summary>
///返回个位数字对应的英文
/// </summary>
/// <returns></returns>
static Dictionary<int, string> GetGeWei()
{
#region 个位数字典
Dictionary<int, string> dicSingle = new Dictionary<int, string>();
dicSingle.Add(1, " one");
dicSingle.Add(2, " two");
dicSingle.Add(3, " three");
dicSingle.Add(4, " four");
dicSingle.Add(5, " five");
dicSingle.Add(6, " six");
dicSingle.Add(7, " seven");
dicSingle.Add(8, " eight");
dicSingle.Add(9, " ine");
dicSingle.Add(0, "");
#endregion
return dicSingle;
}
static Dictionary<int, string> GetShiWei()
{
#region 个位数字典
Dictionary<int, string> dicSingle = new Dictionary<int, string>();
dicSingle.Add(1, " ten");
dicSingle.Add(2, " twenty");
dicSingle.Add(3, " thirty");
dicSingle.Add(4, " forty");
dicSingle.Add(5, " fifty");
dicSingle.Add(6, " sixty");
dicSingle.Add(7, " seventy");
dicSingle.Add(8, " eighty");
dicSingle.Add(9, " ninty");
dicSingle.Add(0, "");
#endregion
return dicSingle;
}
static Dictionary<int, string> GetDubleRead()
{
#region 个位数字典
Dictionary<int, string> dicSingle = new Dictionary<int, string>();
dicSingle.Add(10, " ten");
dicSingle.Add(11, " eleven");
dicSingle.Add(13, " thirsteen");
dicSingle.Add(14, " fourteen");
dicSingle.Add(15, " fifteen");
dicSingle.Add(16, " sixteen");
dicSingle.Add(17, " seventeen");
dicSingle.Add(18, " eighteen");
dicSingle.Add(19, " nineteen");
dicSingle.Add(12, " twelve");
#endregion
return dicSingle;
}
}
}
转载于:https://blog.51cto.com/hacjj/1291919
读取文本中的数用英文转换过来相关推荐
- dos bat批处理的魅力 批处理读取文本中的每一行 操作文件
dos bat批处理的魅力 批处理读取文本中的每一行 操作文件 http://blog.sina.com.cn/s/blog_872457fd0100tasi.html 批处理读取文本中的每一 行 ( ...
- python导入txt为dataframe-python读取文本中数据并转化为DataFrame的实例
在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...
- python输出文本和值_python读取文本中数据并转化为DataFrame的实例
在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...
- 【C++】C++读取文本中的特定一列
[fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 前言 文件读入是数据处理中经常要用到的.很多数据的保存是按列保存的,例如我们常见的表格.那么 ...
- 如何用python读取文本中指定行的内容
如何用python读取文本中指定行的内容 搜索资料 我来答 分享 新浪微博 QQ空间 浏览 5284 次 查看全文 http://www.taodudu.cc/news/show-64036.ht ...
- Stream流、FiLe和IO流、IO流(字节流-拷贝文件_和_字符流-读取文本中的数据写入文本文件中)9-10-11
package com.streamdemo; import java.util.ArrayList; import java.util.List; /*** 体验Stream流** 创建一个集合,存 ...
- python读取文本中的内容
1.获取路径符 pathseq = os.path.seq 2.文本中获取内容 import os import sys from collections import OrderedDictdef ...
- python读取文本中的英文歌_Python 实例分析 - 获取MP3歌曲的Tag信息
下面利用一个python的实例程序,来学习python.这个程序的目的就是分析出所有MP3文件的Tag信息并输出. 其中遇到一个问题,让我深切感受到python中依靠缩进来控制流程的缺点,不多说,看程 ...
- python读取txt中的一列称为_Python读取文本中的数字
作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 1.例程1 先看文本内容形式: 1404796773468 ...
最新文章
- SpringBoot + WebMagic实现一个的爬虫框架
- 《疯狂JAVA讲义》3
- npm运行报错:Error: ENOSPC: System limit for number of file watchers reached
- openstack之windows2003/08系统qcow2制作
- 前端学习(2966):登录页面的制作
- 钉钉作弊,被判5年!
- HTML网页随笔笔记
- NumPy库---文件操作
- python图书管理系统源代码_python实现 图书管理系统源码(入门级控制台项目)...
- 【Scratch编程案例教学】scratch消灭砖块 scratch编程案例教学 少儿编程教案
- android svg 线条动画教程,SVG 实现复杂线条动画
- java程序 联机方法_Java实现Tank大战联机版
- 服务器信号有杂音怎么回事,麦克风有杂音或电流声等的解决方法
- java dispatcher详解_Java Web开发详解:RequestDispatcher接口
- 蓝牙的Baseband说明
- “OSError: [WinError 1455]页面文件太小,无法完成操作。”解决方案
- Gogs搭建教程-极易搭建的自助 Git 服务
- 对CSDN高校俱乐部的建议
- 黑客精神 与 清心寡欲
- Google Earth Engine笔记-植被覆盖度计算
热门文章
- java retry怎么用_java retry使用详解
- linux编程排序,Linux下简单的c编程——选择法排序
- oracle有条件插入数据,Oracle有条件地插入数据
- hue集成mysql报错_CDH5.7Hue使用sqoop导出mysql数据报错
- 使用redux和axios获取api数据
- java lambda教程_Lambda系列教材 (一)- Java Lambda 表达式教程
- java 表达式2004的值_javaSE习题 第三章 运算符、表达式和语句
- 软件工程 c java的联系_软件工程—WC功能实现 (JAVA)
- maven -父子项目和多模块项目
- 深入了解VB中的变量和指针