必威体育Betway必威体育官网
当前位置:首页 > IT技术

如何将数字转化为中文大写

时间:2019-10-10 22:42:26来源:IT技术作者:seo实验室小编阅读:59次「手机版」
 

大写的数字

今天去了面试,在笔试过程中,发现有一题很有趣,当时一直都没有思路,现在终于想通了,随便跟大家分享一下,顺便自己也当作笔记,不过这题对于大神来说,其实很简单!我是小白,如下写的哪里不好,请大神指点迷津!

题目:请将数字转化为中文大写,例如352,转化后显示:叁百伍拾贰元.

代码实现如下:

import java.util.scanner;

public class changeIntToCN {

 /*

  * 项目内容:当输入数字时候,转换为大写的中文数字

  * 1.先定义数字以及交易符的中文标签

  * 2.分开处理数字

  * 3.整合输出

  *

  */

private static final String[] NUMBER_CN= {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};

private static final String[] MONEY_CN= {"元","拾","百","仟","万","拾","百","仟","亿"};

private static final String[] POIINT_CN= {"分","角"};

String head="";

String end="";

int newNum;

String newNum1;

//定义构造方法,这样其实可以省了一些代码

public changeIntToCN(String num) {

 //把num号码进行处理

 //首先先要判断该号码是否有小数点,并把所穿进来的参数进行分割

 if(num.contains(".")) {

  int proint=num.indexof(".");

  head=num.substring(0, proint);

  end=num.substring(proint+1);

  //判断一下后面的小数,并判断是否大约5.如果大约5.进1

  if(end.length()>2) {

newNum=integer.parseInt(end); //把数字转成字符串

if(newNum%10>5) {      

newNum+=10;

newNum1=String.valueOf(newNum).substring(0, 2); //在把数字转成字符串 并截成2位

end=newNum1;

}

else {

end=end.substring(0,2);

   }

  }

 }else {

  head=num;

 }

 System.out.println("转化为大写字母后=====>"+getCN());

}

//定义一个方法用来遍历匹配相关的数据

public String getCN() {

 StringBuffer sbBuffer=new StringBuffer(); //定义一个字符串缓冲区

 //首先处理头的数字

 for(int i=0;i<head.length();i++) {

  //把东西转进去缓冲区,而charAt的索引功效可以帮我们寻找在数组里面的下标,当然charAt也要稍作处理,把他变成整形 ,才能开启询标之旅哟 备注:charAt返回的是一个char类型

  sbBuffer.APPend(NUMBER_CN[getInt(head.charAt(i))]);

  sbBuffer.append(MONEY_CN[head.length()-1-i]);

 }

 //处理小数点后面的事情了

 for(int i=0;i<end.length();i++) {

sbBuffer.append(NUMBER_CN[getInt(end.charAt(i))]);

sbBuffer.append(POINY_CN[end.length()-1-i]);

  }

 

 

 return sbBuffer.toString();

 

}

public int getInt(char c) {

 String string=String.valueOf(c);

 return Integer.parseInt(string);

 

}

public static void main(String[] args) {

 Scanner input=new Scanner(System.in);

 System.out.println("请输入数字");

 String no=input.next();

 changeIntToCN changeIntToCN=new changeIntToCN(no);

}

}

相关阅读

七夕节微信红包7.77是啥意思?哪些红包数字有寓意?

七夕节微信红包7.77是啥意思?七夕节哪些红包数字有寓意?有的人在七夕节的时候,会发7.77元的微信红包,七夕节微信红包7.77是什么意思

IP地址 子网掩码 网络号 主机号 网络地址 主机地址以

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,

underscore中文文档

https://www.html.cn/doc/underscore/

VS2013(Visual Studio 2013)官方中文破解旗舰版下载(含

dio 2013旗舰版。 VS2013(Visual Studio 2013)官方中文旗舰版安装激活方法 1、下载后得到的是ISO文件,直接解压缩或用虚拟光驱加载

Sqlmap中文手册

零、前言 Sqlmap是十分著名的、自动化的SQL注入工具。为了较为系统地学习Sqlmap,我决定翻译一遍Sqlmap的用户手册,于是便有了此文

分享到:

栏目导航

推荐阅读

热门阅读