前些天朋友公司的考试题,他们跟我说了,我没事做了做。简单的实现了一下。里面有的英文单词不对,不想改了,呵呵,反正就是这个意思。代码写的有点冗余,但功能还是实现了。不过只做了四位数的。

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

读取文本中的数用英文转换过来相关推荐

  1. dos bat批处理的魅力 批处理读取文本中的每一行 操作文件

    dos bat批处理的魅力 批处理读取文本中的每一行 操作文件 http://blog.sina.com.cn/s/blog_872457fd0100tasi.html 批处理读取文本中的每一 行 ( ...

  2. python导入txt为dataframe-python读取文本中数据并转化为DataFrame的实例

    在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...

  3. python输出文本和值_python读取文本中数据并转化为DataFrame的实例

    在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...

  4. 【C++】C++读取文本中的特定一列

    [fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 前言 文件读入是数据处理中经常要用到的.很多数据的保存是按列保存的,例如我们常见的表格.那么 ...

  5. 如何用python读取文本中指定行的内容

    如何用python读取文本中指定行的内容 搜索资料 我来答 分享 新浪微博 QQ空间 浏览 5284 次 查看全文 http://www.taodudu.cc/news/show-64036.ht ...

  6. Stream流、FiLe和IO流、IO流(字节流-拷贝文件_和_字符流-读取文本中的数据写入文本文件中)9-10-11

    package com.streamdemo; import java.util.ArrayList; import java.util.List; /*** 体验Stream流** 创建一个集合,存 ...

  7. python读取文本中的内容

    1.获取路径符 pathseq = os.path.seq 2.文本中获取内容 import os import sys from collections import OrderedDictdef ...

  8. python读取文本中的英文歌_Python 实例分析 - 获取MP3歌曲的Tag信息

    下面利用一个python的实例程序,来学习python.这个程序的目的就是分析出所有MP3文件的Tag信息并输出. 其中遇到一个问题,让我深切感受到python中依靠缩进来控制流程的缺点,不多说,看程 ...

  9. python读取txt中的一列称为_Python读取文本中的数字

    作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 1.例程1 先看文本内容形式: 1404796773468 ...

最新文章

  1. SpringBoot + WebMagic实现一个的爬虫框架
  2. 《疯狂JAVA讲义》3
  3. npm运行报错:Error: ENOSPC: System limit for number of file watchers reached
  4. openstack之windows2003/08系统qcow2制作
  5. 前端学习(2966):登录页面的制作
  6. 钉钉作弊,被判5年!
  7. HTML网页随笔笔记
  8. NumPy库---文件操作
  9. python图书管理系统源代码_python实现 图书管理系统源码(入门级控制台项目)...
  10. 【Scratch编程案例教学】scratch消灭砖块 scratch编程案例教学 少儿编程教案
  11. android svg 线条动画教程,SVG 实现复杂线条动画
  12. java程序 联机方法_Java实现Tank大战联机版
  13. 服务器信号有杂音怎么回事,麦克风有杂音或电流声等的解决方法
  14. java dispatcher详解_Java Web开发详解:RequestDispatcher接口
  15. 蓝牙的Baseband说明
  16. “OSError: [WinError 1455]页面文件太小,无法完成操作。”解决方案
  17. Gogs搭建教程-极易搭建的自助 Git 服务
  18. 对CSDN高校俱乐部的建议
  19. 黑客精神 与 清心寡欲
  20. Google Earth Engine笔记-植被覆盖度计算

热门文章

  1. java retry怎么用_java retry使用详解
  2. linux编程排序,Linux下简单的c编程——选择法排序
  3. oracle有条件插入数据,Oracle有条件地插入数据
  4. hue集成mysql报错_CDH5.7Hue使用sqoop导出mysql数据报错
  5. 使用redux和axios获取api数据
  6. java lambda教程_Lambda系列教材 (一)- Java Lambda 表达式教程
  7. java 表达式2004的值_javaSE习题 第三章 运算符、表达式和语句
  8. 软件工程 c java的联系_软件工程—WC功能实现 (JAVA)
  9. maven -父子项目和多模块项目
  10. 深入了解VB中的变量和指针