iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >利用Java怎么将数字日期翻译成英文单词
  • 422
分享到

利用Java怎么将数字日期翻译成英文单词

javaava 2023-05-31 02:05:57 422人浏览 泡泡鱼
摘要

利用Java怎么将数字日期翻译成英文单词?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体如下:package com.sunyard.etp.ag.util;

利用Java怎么将数字日期翻译成英文单词?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

具体如下:

package com.sunyard.etp.ag.util;import java.math.BigDecimal;import java.util.Arrays;public class DateEngUtil {    public static void main(String[] args) {    // TODO Auto-generated method stub    String dd="19870401";    String res=fORMatDateEng(dd);    System.out.println(dd+",英文==="+res);    String dd2="19000823";    String res2=formatDateEng(dd2);    System.out.println(dd2+",英文==="+res2);    String dd3="20001231";    String res3=formatDateEng(dd3);    System.out.println(dd3+",英文==="+res3);    String dd4="20121116";    String res4=formatDateEng(dd4);    System.out.println(dd4+",英文==="+res4);    String dd5="20150901";    String res5=formatDateEng(dd5);    System.out.println(dd5+",英文==="+res5);        //支持最多4位数字的翻译    String nn1="12";    String r1=translateNum9999NoZero(nn1);    System.out.println(nn1+",英文==="+r1);    String nn2="561";    String r2=translateNum9999NoZero(nn2);    System.out.println(nn2+",英文==="+r2);    String nn3="5589";    String r3=translateNum9999NoZero(nn3);    System.out.println(nn3+",英文==="+r3);        String cardNum="6210910002000718183";    String cardn=translateCardNumber(cardNum);    System.out.println(cardNum+",英文==="+cardn);    String fff="3394.56";    System.out.println("钱"+fff+"==="+translateMoney(fff));    String fff2="123456789123456.45";    System.out.println("钱"+fff2+"==="+translateMoney(fff2));    String fff3="78.00";    System.out.println("钱"+fff3+"==="+translateMoney(fff3));    String fff4="12000089103456.45";    System.out.println("钱"+fff4+"==="+translateMoney(fff4));    String fff5="123456789.12";    System.out.println("钱"+fff5+"==="+translateMoney(fff5));        String p1="0%";    System.out.println("百分比"+p1+"==="+translatePercent(p1));    String p2="0.0%";    System.out.println("百分比"+p2+"==="+translatePercent(p2));    String p3="0.00%";    System.out.println("百分比"+p3+"==="+translatePercent(p3));    String p4="0.23%";    System.out.println("百分比"+p4+"==="+translatePercent(p4));    String p5="0.05%";    System.out.println("百分比"+p5+"==="+translatePercent(p5));    String p6="56.00%";    System.out.println("百分比"+p6+"==="+translatePercent(p6));    String p7="56.67%";    System.out.println("百分比"+p7+"==="+translatePercent(p7));    String p8="237.90%";    System.out.println("百分比"+p8+"==="+translatePercent(p8));      }    public static String formatDate(String Date){    try{       return Date.substring(0,4)+"年"+Date.substring(4,6)+"月"+Date.substring(6,8)+"日";     }catch (Exception e) {       return "";     }  }    public static String formatDateEng(String Date){    if(Date==null||Date.trim().equals("")){      return "";    }    if(Date.trim().length()<8){      return "";    }    String DateStr=Date.trim();    String year=DateStr.substring(0,4);    String month=DateStr.substring(4,6);    String date2=DateStr.substring(6,8);    String res="";    res=translateYear(year)+", "+translateMonth(month)+", "+translateDate(date2);    return res;  }    public static String translateYear(String year) {    if (year == null || year.trim().equals("")) {      return "";    }    String res = "";    int yearNum = Integer.valueOf(year);    if(year.endsWith("00")){//xx00      switch (yearNum) {      case 2000:        res = "two thousand";//        break;      case 1900:        res = "nineteen hundred";//        break;      case 1800:        res = "eighteen hundred";//        break;      case 1700:        res = "seventeenth hundred";//        break;      case 1600:        res = "sixteenth hundred";//        break;      case 1500:        res = "fifteenth hundred";//        break;      default:        res = "";      }    }else{//19xx,20xx,21xx      String qian2=year.substring(0, 2);      String hou2=year.substring(2, 4);      int qian2Num = Integer.valueOf(qian2);      int hou2Num = Integer.valueOf(hou2);      if(year.startsWith("20")){//20xx        res = "two thousand and "+translateNum20wei(hou2Num);      }else{//19xx,21xx        res = translateNum20wei(qian2Num)+" "+translateNum20wei(hou2Num);      }    }    return res;  }    public static String translateMonth(String month) {    if (month == null || month.trim().equals("")) {      return "";    }    String res = "";    int mon = Integer.valueOf(month);    switch (mon) {    case 1:      res = "January";// Jan      break;    case 2:      res = "February";// Feb      break;    case 3:      res = "March";// Mar      break;    case 4:      res = "April";// Apr      break;    case 5:      res = "May";// May      break;    case 6:      res = "June";// Jun      break;    case 7:      res = "July";// Jul      break;    case 8:      res = "August";// Aug      break;    case 9:      res = "September";// Sep      break;    case 10:      res = "October";// Oct      break;    case 11:      res = "November";// Nov      break;    case 12:      res = "December";// Dec      break;    default:      res = "";    }    return res;  }    public static String translateDate(String date) {    if (date == null || date.trim().equals("")) {      return "";    }    String res = "";    int dateNum = Integer.valueOf(date);    switch (dateNum) {    case 1:      res = "first";//      break;    case 2:      res = "second";//      break;    case 3:      res = "third";//      break;    case 4:      res = "fourth";//      break;    case 5:      res = "fifth";//      break;    case 6:      res = "sixth";//      break;    case 7:      res = "seventh";//      break;    case 8:      res = "eigth";//      break;    case 9:      res = "ninth";//      break;    case 10:      res = "tenth";//      break;    case 11:      res = "eleventh";//      break;    case 12:      res = "twelfth";//      break;    case 13:      res = "thirteenth";//      break;    case 14:      res = "fourteenth";//      break;    case 15:      res = "fifteenth";//      break;    case 16:      res = "sixteenth";//      break;    case 17:      res = "seventeenth";//      break;    case 18:      res = "eighteenth";//      break;    case 19:      res = "nineteenth";//      break;    case 20:      res = "twentieth";//      break;    case 21:      res = "twenty first";//      break;    case 22:      res = "twenty second";//      break;    case 23:      res = "twenty third";//      break;    case 24:      res = "twenty fourth";//      break;    case 25:      res = "twenty fifth";//      break;    case 26:      res = "twenty sixth";//      break;    case 27:      res = "twenty seventh";//      break;    case 28:      res = "twenty eigth";//      break;    case 29:      res = "twenty ninth";//      break;    case 30:      res = "thirtieth";//      break;    case 31:      res = "thirty first";//      break;    default:      res = "";    }    return res;  }  /////////////////    public static String translateNum19(int num){    String res = "";    switch (num) {    case 0:res = " ";break;    case 1:res = "one";break;    case 2:res = "two";break;    case 3:res = "three";break;    case 4:res = "four";break;    case 5:res = "five";break;    case 6:res = "six";break;    case 7:res = "seven";break;    case 8:res = "eight";break;    case 9:res = "nine";break;    case 10:res = "ten";break;    case 11:res = "eleven";break;    case 12:res = "twelve";break;    case 13:res = "thirteen";break;    case 14:res = "fourteen";break;    case 15:res = "fifteen";break;    case 16:res = "sixteen";break;    case 17:res = "seventeen";break;    case 18:res = "eighteen";break;    case 19:res = "nineteen";break;    default:      res = "";    }    return res;  }    public static String translateNum2090(int num){    String res = "";    switch (num) {    case 20:res = "twenty";break;    case 30:res = "thirty";break;    case 40:res = "forty";break;    case 50:res = "fifty";break;    case 60:res = "sixty";break;    case 70:res = "seventy";break;    case 80:res = "eighty";break;    case 90:res = "ninety";break;    default:      res = "";    }    return res;  }    public static String translateNum20wei(int num){    String res = "";    int zheng=num/10;//十位    int yu=num%10;//个位    if(num<20){      if(num<10){        res="zero"+translateNum19(num);      }else{        res=translateNum19(num);      }    }else{      res=translateNum2090(zheng*10)+" "+translateNum19(yu);    }    return res;  }    public static String translateNum20weiNoZero(int num){    String res = "";    int zheng=num/10;//十位    int yu=num%10;//个位    if(num<20){      res=translateNum19(num);    }else{      res=translateNum2090(zheng*10)+" "+translateNum19(yu);    }    return res;  }    public static String translateNum9999NoZero(int num){    String res = "";    int qian=num/1000;//千位    int last3=num%1000;    int bai=last3/100;//百位    int last2=num%100;    int shi=last2/10;//十位    int ge=num%10;//个位    if(qian!=0){      res+=translateNum19(qian)+" thousand ";    }    if(bai!=0){      res+=translateNum19(bai)+" hundred ";    }    String last2eng=translateNum20weiNoZero(last2);    if(!res.equals("")&&!(last2eng.trim().equals(""))){      res+=" and ";    }    res+=last2eng+" ";    return res;  }  public static String translateNum9999NoZero(String num){    if(num==null||num.trim().equals("")){      return "";    }    int nn=Integer.valueOf(num);    return translateNum9999NoZero(nn);  }  ////////////////////////////////////////下面是英文数字的直白读法,应用场景:卡号/////////////////////////////    public static String translateNum09(int num){    String res = "";    switch (num) {    case 0:res = "zero";break;    case 1:res = "one";break;    case 2:res = "two";break;    case 3:res = "three";break;    case 4:res = "four";break;    case 5:res = "five";break;    case 6:res = "six";break;    case 7:res = "seven";break;    case 8:res = "eight";break;    case 9:res = "nine";break;    default:      res = "";    }    return res;  }    public static String translateCardNumber(String number){    if(number==null||number.trim().equals("")){      return "";    }    String res = "";    String numstr=number.trim();    char[] numArr=numstr.toCharArray();    for(int i=0;i<numArr.length;i++){      char ai=numArr[i];      String ain=Character.toString(ai);      int bi=Integer.valueOf(ain);//     System.out.println(translateNum09(bi));      res+=" "+translateNum09(bi);    }    return res;  }  ////////////////////////////////////////下面是英文数字的读法,应用场景:钱/////////////////////////////    public static String translateMoney(String money){    if(money==null||money.trim().equals("")){      return "";    }    String res = "";    String moneyStr=money.trim();    String moneyStr1="";    String moneyStr2="";    if(moneyStr.indexOf(".")!=-1){//有小数点      moneyStr1=moneyStr.substring(0, (moneyStr.indexOf(".")));      moneyStr2=moneyStr.substring(moneyStr.indexOf(".")+1);    }else{      moneyStr1=moneyStr;      moneyStr2="";    }    String trans1=translateMoney1(moneyStr1);    String trans2=translateMoney2(moneyStr2);    if(trans1.trim().equals("")){      res="zero point "+trans2;    }else{      res=trans1+" point "+trans2;    }    return res;  }    public static String translateMoney1(String moneyStr1){    if(moneyStr1==null||moneyStr1.trim().equals("")||moneyStr1.length()>15){      return "";    }    String res = "";    String moneyStr=moneyStr1.trim();    String[] moneyArr=getThreeArr(moneyStr);    if(moneyArr[0]!=null&&!moneyArr[0].trim().equals("")){      res+=translateNum9999NoZero(moneyArr[0].trim())+" trillion, ";    }    if(moneyArr[1]!=null&&!moneyArr[1].trim().equals("")){      res+=translateNum9999NoZero(moneyArr[1].trim())+" billion, ";    }    if(moneyArr[2]!=null&&!moneyArr[2].trim().equals("")){      res+=translateNum9999NoZero(moneyArr[2].trim())+" million, ";    }    if(moneyArr[3]!=null&&!moneyArr[3].trim().equals("")){      res+=translateNum9999NoZero(moneyArr[3].trim())+" thousand, ";    }    if(moneyArr[4]!=null&&!moneyArr[4].trim().equals("")){      res+=translateNum9999NoZero(moneyArr[4].trim())+" ";    }    return res;  }  //翻译小数点后面的数字,其实就是按位直接翻译单个数字即可。  public static String translateMoney2(String moneyStr2){    return translateCardNumber(moneyStr2);  }    public static String[] getThreeArr(String number){    if(number==null||number.trim().equals("")){      return null;    }    String[] res= new String [5];    BigDecimal dd=new BigDecimal("0");    BigDecimal bd1000=new BigDecimal("1000");//   dd.divideandRemainder(divisor)    try{      dd=new BigDecimal(number.trim());//123,456,789,222,555      BigDecimal dd30=dd.divideAndRemainder(bd1000)[1];//3wei,555(0是整数,1是余数)      BigDecimal dd2=dd.divideAndRemainder(bd1000)[0];//123,456,789,222      BigDecimal dd64=dd2.divideAndRemainder(bd1000)[1];//thousand,222      BigDecimal dd3=dd2.divideAndRemainder(bd1000)[0];//123,456,789(0是整数,1是余数)      BigDecimal dd97=dd3.divideAndRemainder(bd1000)[1];//million,789      BigDecimal dd4=dd3.divideAndRemainder(bd1000)[0];////123,456      BigDecimal dd1210=dd4.divideAndRemainder(bd1000)[1];//billion,456      BigDecimal dd5=dd4.divideAndRemainder(bd1000)[0];////123      BigDecimal dd1513=dd5.divideAndRemainder(bd1000)[1];//trillion,123      res[0]=dd1513.toString();      res[1]=dd1210.toString();      res[2]=dd97.toString();      res[3]=dd64.toString();      res[4]=dd30.toString();      for(int i=0;i<res.length;i++){        String nn=res[i];        if(nn.trim().equals("0")){          res[i]="";        }      }    }catch(Exception e){      return null;    }//   System.out.println("getThreeArr=="+Arrays.toString(res));    return res;  }  //讲一个字符串反序  public static String reverseStr(String str){    if(str==null||str.trim().equals("")){      return "";    }    String strre="";    String str2=str.trim();    for(int i=str2.length()-1;i>=0;i--){      strre+=String.valueOf(str2.charAt(i));//反序后    }    return strre;  }  /////////////////////////////翻译百分比,例如12.12%///////////////////////////////////////    public static String translatePercent(String percentNum){    if(percentNum==null||percentNum.trim().equals("")||!(percentNum.trim().endsWith("%"))){      return "";    }    String res = "";    String percent=percentNum.trim().substring(0, percentNum.indexOf("%"));    String percent1="";    String percent2="";    if(percent.indexOf(".")!=-1){//有小数点      percent1=percent.trim().substring(0, percent.indexOf("."));      percent2=percent.trim().substring(percent.indexOf(".")+1);    }else{      percent1=percent;      percent2="";    }    double nu=Double.valueOf(percent);    if(nu==0){      res="zero point zero zero percent";    }else{      double nu2=Double.valueOf(percent1);      if(nu2==0){        res+=" zero ";      }      res+=translateNum9999NoZero(percent1)+" point "+translateCardNumber(percent2)+" percent ";    }    return res;  }}

--结束END--

本文标题: 利用Java怎么将数字日期翻译成英文单词

本文链接: https://www.lsjlt.com/news/222886.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用Java怎么将数字日期翻译成英文单词
    利用Java怎么将数字日期翻译成英文单词?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体如下:package com.sunyard.etp.ag.util;...
    99+
    2023-05-31
    java ava
  • 使用java怎么实现一个英文文本单词翻译器
    今天就跟大家聊聊有关使用java怎么实现一个英文文本单词翻译器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。直接上代码:package fanyi;import ...
    99+
    2023-05-31
    java
  • Word中怎么将英文翻译成中文
    这篇文章主要介绍Word中怎么将英文翻译成中文,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!  第一步:打开迅捷文字转语音软件,在画布左侧有三个功能选项,点击选择【翻译】  第二步:...
    99+
    2024-04-02
  • Win10怎么将英文网页翻译成中文
    今天小编给大家分享一下Win10怎么将英文网页翻译成中文的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。具体操作方法一、双击我...
    99+
    2023-06-28
  • 怎么用Python将所有的英文单词首字母变成大写
    本篇内容主要讲解“怎么用Python将所有的英文单词首字母变成大写”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python将所有的英文单词首字母变成大写”吧!将英文单词首字母变成大写是非...
    99+
    2023-06-15
  • java怎么将日期转换成字符串
    在Java中,可以使用`SimpleDateFormat`类将日期转换为字符串。以下是一个示例代码,演示了如何将当前日期转换为字符串...
    99+
    2023-08-17
    java
  • C++中怎么利用LeetCode翻转字符串中的单词
    这篇文章将为大家详细讲解有关C++中怎么利用LeetCode翻转字符串中的单词,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。[LeetCode] 557.Reverse Words in a...
    99+
    2023-06-20
  • 怎么使用PHP将字符串转换成日期时间格式
    这篇“怎么使用PHP将字符串转换成日期时间格式”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用PHP将字符串转换成日期...
    99+
    2023-07-05
  • 利用Java怎么将excel表格转换成json数据
    利用Java怎么将excel表格转换成json数据?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。实现方法如下:package org.duang.test;import jav...
    99+
    2023-05-31
    java excel json
  • 利用java怎么将字符串转换为String数组
    这篇文章将为大家详细讲解有关利用java怎么将字符串转换为String数组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实现方法如下:package Tsets;import java.ut...
    99+
    2023-05-31
    java 字符串 string
  • 利用java怎么将数字金额转转换为大写
    这篇文章将为大家详细讲解有关利用java怎么将数字金额转转换为大写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。将数字金额大写,如下:public class Test { pri...
    99+
    2023-05-31
    java ava
  • 利用Java怎么将字节数B转化为KB、MB与GB
    利用Java怎么将字节数B转化为KB、MB与GB?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在文件处理的系统中,很容易就能通过一些系统自带的方法取出其大小,问题是这个大小往往...
    99+
    2023-05-31
    java ava
  • 使用Java怎么实现统计字符串中汉字与英文的数量
    这期内容当中小编将会给大家带来有关使用Java怎么实现统计字符串中汉字与英文的数量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:package org.zhy.demo.algorithm;pu...
    99+
    2023-05-31
    java ava 字符串
  • 怎么利用Java实现简单的猜数字小游戏
    这篇文章主要讲解了“怎么利用Java实现简单的猜数字小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么利用Java实现简单的猜数字小游戏”吧!实现思路由计算机随机产生1~100的整数。...
    99+
    2023-06-30
  • 怎么在Python中利用cn2an将中文数字与阿拉伯数字进行转换
    这篇文章主要介绍了怎么在Python中利用cn2an将中文数字与阿拉伯数字进行转换,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:python是什么意思Python是一种跨平台的、具有解释...
    99+
    2023-06-06
  • JavaScript中怎么利用join方法将数组中的元素转成字符串
    JavaScript中怎么利用join方法将数组中的元素转成字符串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先我们来看一个小例子。&...
    99+
    2024-04-02
  • 利用递归算法怎么将数据库解析成Java树形结构
    利用递归算法怎么将数据库解析成Java树形结构?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、准备表结构及对应的表数据a、表结构:create table T...
    99+
    2023-05-31
    java ava 递归算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作