//数字的英文表达和中文表达
public class NumEngAndChinese{//*************************中文表达************************************public static String num1To9(int num) {if (num < 1 || num > 9) {return "";}String[] names = { "一", "二", "三", "四", "五", "六", "七", "八", "九" };return names[num - 1];}public static String num1To99(int num, boolean hasBai) {if (num < 1 || num > 99) {return "";}if (num < 10) {return num1To9(num);}int shi = num / 10;if (shi == 1 && (!hasBai)) {return "十" + num1To9(num % 10);} else {return num1To9(shi) + "十" + num1To9(num % 10);}}public static String num1To999(int num) {if (num < 1 || num > 999) {return "";}if (num < 100) {return num1To99(num, false);}String res = num1To9(num / 100) + "百";int rest = num % 100;if (rest == 0) {return res;} else if (rest >= 10) {res += num1To99(rest, true);} else {res += "零" + num1To9(rest);}return res;}public static String num1To9999(int num) {if (num < 1 || num > 9999) {return "";}if (num < 1000) {return num1To999(num);}String res = num1To9(num / 1000) + "千";int rest = num % 1000;if (rest == 0) {return res;} else if (rest >= 100) {res += num1To999(rest);} else {res += "零" + num1To99(rest, false);}return res;}public static String num1To99999999(int num) {if (num < 1 || num > 99999999) {return "";}int wan = num / 10000;int rest = num % 10000;if (wan == 0) {return num1To9999(rest);}String res = num1To9999(wan) + "万";if (rest == 0) {return res;} else {if (rest < 1000) {return res + "零" + num1To999(rest);} else {return res + num1To9999(rest);}}}public static String getNumChiExp(int num) {if (num == 0) {return "零";}String res = num < 0 ? "负" : "";int yi = Math.abs(num / 100000000);int rest = Math.abs((num % 100000000));if (yi == 0) {return res + num1To99999999(rest);}res += num1To9999(yi) + "亿";if (rest == 0) {return res;} else {if (rest < 10000000) {return res + "零" + num1To99999999(rest);} else {return res + num1To99999999(rest);}}}//*****************************************************//***********************英文表达**********************public static String num1To19(int num) {if (num < 1 || num > 19) {return "";}String[] names = { "One ", "Two ", "Three ", "Four ", "Five ", "Six ","Seven ", "Eight ", "Nine ", "Ten ", "Eleven ", "Twelve ","Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Sixteen ","Eighteen ", "Nineteen " };return names[num - 1];}public static String num1To99(int num) {if (num < 1 || num > 99) {return "";}if (num < 20) {return num1To19(num);}int high = num / 10;String[] tyNames = { "Twenty ", "Thirty ", "Forty ", "Fifty ","Sixty ", "Seventy ", "Eighty ", "Ninety " };return tyNames[high - 2] + num1To19(num % 10);}public static String num1ToE999(int num) {if (num < 1 || num > 999) {return "";}if (num < 100) {return num1To99(num);}int high = num / 100;return num1To19(high) + "Hundred " + num1To99(num % 100);}//获得英文的表达式public static String getNumEngExp(int num) {if (num == 0) {return "Zero";}String res = "";if (num < 0) {res = "Negative, ";}if (num == Integer.MIN_VALUE) {res += "Two Billion, ";num %= -2000000000;}num = Math.abs(num);int high = 1000000000;int highIndex = 0;String[] names = { "Billion", "Million", "Thousand", "" };while (num != 0) {int cur = num / high;num %= high;if (cur != 0) {res += num1ToE999(cur);res += names[highIndex] + (num == 0 ? " " : ", ");}high /= 1000;highIndex++;}return res;}//*****************************************************// for testpublic static int generateRandomNum() {boolean isNeg = Math.random() > 0.5 ? false : true;int value = (int) (Math.random() * Integer.MIN_VALUE);return isNeg ? value : -value;}public static void main(String[]args){System.out.println(0);System.out.println(getNumChiExp(0));System.out.println(Integer.MAX_VALUE);System.out.println(getNumChiExp(Integer.MAX_VALUE));System.out.println(Integer.MIN_VALUE);System.out.println(getNumChiExp(Integer.MIN_VALUE));int num = generateRandomNum();System.out.println(num);System.out.println(getNumChiExp(num));num = generateRandomNum();System.out.println(num);System.out.println(getNumChiExp(num));num = generateRandomNum();System.out.println(num);System.out.println(getNumChiExp(num));num = generateRandomNum();System.out.println(num);System.out.println(getNumChiExp(num));System.out.println(getNumChiExp(10));System.out.println(getNumChiExp(110));System.out.println(getNumChiExp(1010));System.out.println(getNumChiExp(10010));System.out.println(getNumChiExp(1900000000));System.out.println(getNumChiExp(1000000010));System.out.println(getNumChiExp(1010100010));//******************************************System.out.println(getNumEngExp(0));System.out.println(getNumEngExp(Integer.MAX_VALUE));System.out.println(getNumEngExp(Integer.MIN_VALUE));int num2 = generateRandomNum();System.out.println(num2);System.out.println(getNumEngExp(num2));}
}

数字的英文表达和中文表达相关推荐

  1. Go 语言正则匹配 ID 逗号分隔 数字、英文字母、中文

    关键正则表达式: ok, _ := regexp.MatchString("^[A-Za-z\\d\u4e00-\u9fa5]+(,[A-Za-z\\d\u4e00-\u9fa5]+)*$& ...

  2. 使用js控制input填写的限制,比如只能写数字和英文,不能输入中文

    1.只能输入英文字母和数字,不能输入中文 <input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"> 2.只能输入字 ...

  3. 阿拉伯数字转换成英文以及中文表达

    题目描述 把一串数字装换成英文表达或者中文表达. 例如:1234转换成一千二百三十四和one southand two hundred thirty four 思路分析 此题就是纯coding问题,不 ...

  4. python数字转英文_python:将数字转换成用英文表达的程序

    前几天无意中看到了一篇文章列了很多数字的英文表达方式(http://blog.csdn.net/sun7545526/article/details/8122416),正好这段时间在学习python, ...

  5. 【转】SQL函数:字符串中提取数字,英文,中文,过滤重复字符

    SQL函数:字符串中提取数字,英文,中文,过滤重复字符 --提取数字 IF OBJECT_ID('DBO.GET_NUMBER') IS NOT NULL DROP FUNCTION DBO.GET_ ...

  6. php 只能输入中英文,JavaScript基于正则实现控制输入框中只能输入中文、数字和英文的方法...

    这篇文章主要介绍了JavaScript控制输入框中只能输入中文.数字和英文的方法,基于正则验证实现字符输入限制功能,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了Javascript控制输 ...

  7. hibernate mysql 模糊查询_服务器-hibernate操作mysql,模糊查询时中文查不到,数字和英文可以查到...

    用hibernate做模糊查询,页面传递参数也处理了乱码 @Action(value="searchNameByad") public String searchNameByad( ...

  8. 中国车牌31个省份中文字符、数字与英文字母数据集免费下载

    大佬已经无偿公开数据集甚至源码,这些人还在用数据集赚钱 数据集就在上面两个文件中 链接: 中国车牌31个省份中文字符.数字与英文字母数据集 登不上的这里下载 ↓ 百度网盘:https://pan.ba ...

  9. Qt 软键盘的实现(QWidget),支持中文输入法、数字、英文切换

    **出发点:由于Qt自带的软键盘是QML的,如果使用QWidget模式去编写调用自带的软键盘的话,在ARM下运行会全屏漆黑,并不是我们想要的效果,所以,在网上搜了很多的资料,自己去做了自制键盘,在项目 ...

最新文章

  1. python数据结构推荐书-「算法与数据结构」从入门到进阶吐血整理推荐书单
  2. Bootstrap 字体图标(Glyphicons)
  3. cordova打开文件_Cordova开发App入门(四)打开及下载第三方App
  4. 【quartus】原理图输入设计详解攻略
  5. java 将Map拷贝到另一个Map对象当中
  6. [BZOJ2599][IOI2011]Race 点分治
  7. 12年后,索尼重启机器人业务
  8. python金融数据分析电子版_python 金融大数据分析 pdf
  9. xml+css+sql+json+html+js格式化,JavaScript格式化json和xml的方法示例
  10. 一键安装Tengine服务器,TengineRPM(LTMP)构建高效、稳定、安全、易用的Web平台
  11. android 优秀控件以及开源项目
  12. 复旦计算机系统基础课件,复旦大学软件工程考研(MSE)计算机系统基础复习资料.ppt...
  13. 墨修尧哪一章痊愈_墨修尧叶璃
  14. vant 调取上传照片
  15. javaSE (十六)Randon、System类的方法(生成随机数、主动垃圾回收、终止jvm、对程序进行记时、System自带的复制数组的方法)
  16. Neutron DHCP-Agent问题分析定位(1)
  17. Socket编程面试问题
  18. 【淘宝SEO技巧】淘宝SEO优化|淘宝搜索排名规律|淘宝宝贝标题优化
  19. 八进制和十六进制表示
  20. 【硬件接口】一文带你看懂什么是液晶显示屏中EDP接口?

热门文章

  1. libcurl中上传文件的坑-英文操作系统中文路径无法上传返回26错误码
  2. 使用MybatisPlus遇到的问题 , 时间为null时不能添加数据库
  3. 【数据结构与算法】快速排序
  4. JavaScript制作音乐播放器
  5. win 11 快捷键(备忘录)
  6. 写个代码也能“欠债”?为什么要用SonarQube
  7. 如何在jieba分词中加自定义词典_R-数据挖掘 | jiebaR 分词
  8. 6大常用数据分析模型详解,做分析不再没思路
  9. 穷人安装ubuntu1.18.4+docker+kind+k8s-1.19.1+kubeflow-1.3
  10. 油液磨粒监测设计方案