java人民币小写转大写(java大小写转化)

今天给各位分享java人民币小写转大写的知识,其中也会对java大小写转化进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、java中如何把大写字母转换成小写字母,小写字母转换成大写字母?2、将数字货币金额转换为大写格式3、JAVA 数字转换为中文大写的转换4、java实现人民币大写换数字5、怎样用Java将金额转换为中文大写形式6、如何用java applet做一个人民币大小写转换器

java中如何把大写字母转换成小写字母,小写字母转换成大写字母?

java提供了upper和lower方法来进行字母大小写的转换,实例如下:

//把一个字符串中的大写转为小写,小写转换为大写:思路1

public static String exChange(String str){

StringBuffer sb = new StringBuffer();

if(str!=null){

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

char c = str.charAt(i);

if(Character.isUpperCase(c)){

sb.append(Character.toLowerCase(c));

}else if(Character.isLowerCase(c)){

sb.append(Character.toUpperCase(c));

}

}

}

return sb.toString();

}

//把一个字符串中的大写转为小写,小写转换为大写:思路2

public static String exChange2(String str){

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

//如果是小写

if(str.substring(i, i+1).equals(str.substring(i, i+1).toLowerCase())){

str.substring(i, i+1).toUpperCase();

}else{

str.substring(i, i+1).toLowerCase();

}

}

return str;

}

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Java编程语言的风格十分接近C语言、C++语言。Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的性能。

将数字货币金额转换为大写格式

【实例描述】

在处理财务账款时,一般需要使用大写金额。如果在银行进行储蓄或转账,也需要将数字金

额写成大写格式。也就是说,如果要转账123456元,则

需要写成“壹拾贰万叁仟肆佰伍拾陆元整”。对于这种情

况,如果手动填写不仅麻烦,而且容易出错,所以我们

可以设计一个程序来自动完成数字格式的转换。本实例

实现了小写金额到大写金额的转换,实例的运行效果如

图4.2所示。

图4.2将数字货币金额转换为大写格式

【实现过程】

(1)在Eclipse中新建项目MoneyConvert,并在其中创建一个MoneyConvert.java文件。

在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的数字金额。然后在通过

convert()方法把这个金额转换成大写金额的字符串格式,并输出到控制台。核心代码如下所示:

publicstaticvoidmain(String[]args){

Scannerscan=newScanner(System.in);//创建扫描器

System.out.println(“请输入一个金额”);

//获取金额转换后的字符串

Stringconvert=convert(scan.nextDouble());

System.out.println(convert);//输出转换结果

}

(2)编写金额转换方法convert(),该方法在主方法中被调用,用于金额数字向大写格式的

转换。在该方法中创建DecimalFormat类的实例对象,通过这个格式器对象把金额数字格式化,

只保留三位小数。然后分别调用getInteger()与getDecimal()方法转换整数与小数部分,并返回

转换后的结果。关键代码如下:

publicstaticStringconvert(doubled){

//实例化DecimalFormat对象

DecimalFormatdf=newDecimalFormat(“#0.###”);

//格式化double数字

StringstrNum=df.format(d);

//判断是否包含小数点

if(strNum.indexOf(“.”)!=-1){

Stringnum=strNum.substring(0,strNum.indexOf(“.”));

//整数部分大于12不能转换

if(num.length()12){

System.out.println(“数字太大,不能完成转换!”);

return””;

}

}

Stringpoint=””;//小数点

if(strNum.indexOf(“.”)!=-1){

point=”元”;

}else{

point=”元整”;

}

//转换结果

Stringresult=getInteger(strNum)+point+getDecimal(strNum);

if(result.startsWith(“元”)){//判断是字符串是否已”元”结尾

result=result.substring(1,result.length());//截取字符串

}

returnresult;//返回新的字符串

}

(3)编写getInteger()方法,用于转换数字整数部分的大写格式。在该方法中判断数字是否

包含小数点,然后把数字转换为字符串并反转字符顺序,为每个数字添加对应的大写单位。关

键代码如下:

publicstaticStringgetInteger(Stringnum){

if(num.indexOf(“.”)!=-1){//判断是否包含小数点

um=num.substring(0,num.indexOf(“.”));

}

um=newStringBuffer(num).reverse().toString();//反转字符串

StringBuffertemp=newStringBuffer();//创建一个StringBuffer

对象

for(inti=0;inum.length();i++){//加入单位

temp.append(STR_UNIT[i]);

temp.append(STR_NUMBER[num.charAt(i)-48]);

}

um=temp.reverse().toString();//反转字符串

um=numReplace(num,”零拾”,”零”);//替换字符串的字符

um=numReplace(num,”零佰”,”零”);//替换字符串的字符

um=numReplace(num,”零仟”,”零”);//替换字符串的字符

um=numReplace(num,”零万”,”万”);//替换字符串的字符

um=numReplace(num,”零亿”,”亿”);//替换字符串的字符

um=umReplace(num,”零零”,”零”);//替换字符串的字符

um=numReplace(num,”亿万”,”亿”);//替换字符串的字符

//如果字符串以零结尾将其除去

if(num.lastIndexOf(“零”)==num.length()-1){

um=num.substring(0,num.length()-1);

}

returnum;

}

publicstaticStringgetDecimal(Stringnum){

//判断是否包含小数点

if(num.indexOf(“.”)==-1){

return””;

}

um=um.substring(num.indexOf(“.”)+1);

//反转字符串

um=newStringBuffer(num).reverse().toString();

//创建一个StringBuffer对象

StringBuffertemp=newStringBuffer();

//加入单位

for(inti=0;inum.length();i++){

temp.append(STR_UNIT2[i]);

temp.append(STR_NUMBER[num.charAt(i)-48]);

}

um=temp.reverse().toString();//替换字符串的字符

um=umReplace(num,”零角”,”零”);//替换字符串的字符

um=numReplace(num,”零分”,”零”);//替换字符串的字符

um=numReplace(num,”零厘”,”零”);//替换字符串的字符

um=umReplace(num,”零零”,”零”);//替换字符串的字符

//如果字符串以零结尾将其除去

if(num.lastIndexOf(“零”)==num.length()-1){

um=num.substring(0,um.length()-1);

}

returnnum;

}

publicstaticStringumReplace(Stringnum,StringoldStr,StringnewStr)

{

while(true){

//判断字符串中是否包含指定字符

if(num.indexOf(oldStr)==-1){

break;

}

//替换字符串

num=num.replaceAll(oldStr,newStr);

}

//返回替换后的字符串

returnum;

}

【代码解析】

实现本实例的关键在于以下几点:

_将数字格式化,如果存在小数部分,将其转换为3位小数,精确到厘。

_分别将整数部分与小数部分转换为大写格式,并插入其单位(亿、万、仟??)。

_组合转换后的整数部分与小数部分。

【知识扩展】

DecimalFormat类可以指定格式化模板来格式化浮点数,如保留几位小数。通过调用该类

的format()方法可以使用指定模板来格式化任意浮点数字。

java人民币小写转大写(java大小写转化)

JAVA 数字转换为中文大写的转换

package com.heyang;

/**

* 将10亿以内的阿拉伯数字转成汉字大写形式

* @author xizhenyin

*

*/

public class CnUpperCaser {

// 整数部分

private String integerPart;

// 小数部分

private String floatPart;

// 将数字转化为汉字的数组,因为各个实例都要使用所以设为静态

private static final char[] cnNumbers={‘零’,’壹’,’贰’,’叁’,’肆’,’伍’,’陆’,’柒’,’捌’,’玖’};

// 供分级转化的数组,因为各个实例都要使用所以设为静态

private static final char[] series={‘元’,’拾’,’百’,’仟’,’万’,’拾’,’百’,’仟’,’亿’};

/**

* 构造函数,通过它将阿拉伯数字形式的字符串传入

* @param original

*/

public CnUpperCaser(String original){

// 成员变量初始化

integerPart=””;

floatPart=””;

if(original.contains(“.”)){

// 如果包含小数点

int dotIndex=original.indexOf(“.”);

integerPart=original.substring(0,dotIndex);

floatPart=original.substring(dotIndex+1);

}

else{

// 不包含小数点

integerPart=original;

}

}

/**

* 取得大写形式的字符串

* @return

*/

public String getCnString(){

// 因为是累加所以用StringBuffer

StringBuffer sb=new StringBuffer();

// 整数部分处理

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

int number=getNumber(integerPart.charAt(i));

sb.append(cnNumbers[number]);

sb.append(series[integerPart.length()-1-i]);

}

// 小数部分处理

if(floatPart.length()0){

sb.append(“点”);

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

int number=getNumber(floatPart.charAt(i));

sb.append(cnNumbers[number]);

}

}

// 返回拼接好的字符串

return sb.toString();

}

/**

* 将字符形式的数字转化为整形数字

* 因为所有实例都要用到所以用静态修饰

* @param c

* @return

*/

private static int getNumber(char c){

String str=String.valueOf(c);

return Integer.parseInt(str);

}

/**

* @param args

*/

public static void main(String[] args) {

System.out.println(new CnUpperCaser(“123456789.12345”).getCnString());

System.out.println(new CnUpperCaser(“123456789”).getCnString());

System.out.println(new CnUpperCaser(“.123456789”).getCnString());

System.out.println(new CnUpperCaser(“0.1234”).getCnString());

System.out.println(new CnUpperCaser(“1”).getCnString());

System.out.println(new CnUpperCaser(“12”).getCnString());

System.out.println(new CnUpperCaser(“123”).getCnString());

System.out.println(new CnUpperCaser(“1234”).getCnString());

System.out.println(new CnUpperCaser(“12345”).getCnString());

System.out.println(new CnUpperCaser(“123456”).getCnString());

System.out.println(new CnUpperCaser(“1234567”).getCnString());

System.out.println(new CnUpperCaser(“12345678”).getCnString());

System.out.println(new CnUpperCaser(“123456789”).getCnString());

}

}

java实现人民币大写换数字

把数字 分成3截 亿 万 万以内 再对每一段 转换 这样 就不太容易出现 考虑不到的地方

jk.method(“壹亿贰佰陆拾捌万壹拾捌圆”);

String method1(String s){

if (s.contains(“亿”)) {

String[] array = s.split(“亿”);

return array[0];

}else {

return “”;

}

}

String method2(String s){

if (s.contains(“亿”)) {

String[] array = s.split(“亿”);

if (array[1].contains(“万”)) {

String[] arr = array[1].split(“万”);

return arr[0];

}else {

return “”;

}

}else {

if (s.contains(“万”)) {

String[] arr = s.split(“万”);

return arr[0];

}else {

return “”;

}

}

}

String method3(String s){

if (!s.contains(“万”) !s.contains(“亿”)) {

return s;

}else {

String[] arr = s.split(“万”);

return arr[arr.length-1];

}

}

long method(String num){

long high = 0;

long mid = 0;

long low = 0;

String hi =””;

String mi =””;

String lo =””;

hi = method1(num);

mi = method2(num);

lo = method3(num);

if (hi != “”) {

high = suoShu(hi)*100000000;

}

if (mi != “”) {

mid = suoShu(mi)*10000;

}

if (lo != “”) {

low = suoShu(lo);

}

System.out.println(high+mid+low);

return high+mid+low;

}

long suoShu(String num){

char[] arr = num.toCharArray();

long money = 0;

long mult = 0;

long no = 0;

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

long temp = 0;

if (isNum(arr[i])) {

no = getNum(arr[i]);

}else if (isFlag(arr[i])) {

mult = getFlag(arr[i]);

}

if (no 0 mult 0) {

temp = no * mult;

no = 0;

mult = 0;

}

money = money + temp;

if (arr.length = 1) {

money = no * 1;

}

}

System.out.println(money);

return money;

}

long getNum(char num){

switch (num) {

case ‘零’:

return 0;

case ‘壹’:

return 1;

case ‘贰’:

return 2;

case ‘叁’:

return 3;

case ‘肆’:

return 4;

case ‘伍’:

return 5;

case ‘陆’:

return 6;

case ‘柒’:

return 7;

case ‘捌’:

return 8;

case ‘玖’:

return 9;

default:

return 0;

}

}

long getFlag(char flag){

switch (flag) {

case ‘圆’:

return 1;

case ‘拾’:

return 10;

case ‘佰’:

return 100;

case ‘仟’:

return 1000;

case ‘万’:

return 10000;

case ‘亿’:

return 100000000;

default:

return 0;

}

}

boolean isNum(char num){

switch (num) {

case ‘零’:

return true;

case ‘壹’:

return true;

case ‘贰’:

return true;

case ‘叁’:

return true;

case ‘肆’:

return true;

case ‘伍’:

return true;

case ‘陆’:

return true;

case ‘柒’:

return true;

case ‘捌’:

return true;

case ‘玖’:

return true;

default:

return false;

}

}

boolean isFlag(char flag){

switch (flag) {

case ‘圆’:

return true;

case ‘拾’:

return true;

case ‘佰’:

return true;

case ‘仟’:

return true;

case ‘万’:

return true;

case ‘亿’:

return true;

case ‘兆’:

return true;

default:

return false;

}

}

怎样用Java将金额转换为中文大写形式

String words=”12334″;

for(int i=0 ; iwords.length ; i++)

{

switch(words.charAt(i))

{

case “1”:System.out.println(“壹”);break;

case “2”:

…………..

case “0”:System.out.println(“零”);break;

}

}

大致思路是这个样子的吧。

如何用java applet做一个人民币大小写转换器

这个很简单的,主要就用到button和text两个组件。

定义两个大写的字符串数组:一个用来存“拾佰仟万”,一个存储“壹贰叁肆……”

在text框里输入内容,根据ASC码判断,如果为数字,则根据数字长度从两个数组中取值,拼接成串输出到text框;

否则,根据读取的字符转换为数字。

若有其他字符,便认为失败。

java人民币小写转大写的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java大小写转化、java人民币小写转大写的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月30日 00:28:14
下一篇 2024年3月30日 00:34:27

相关推荐

  • javamonitor,java monitor entryset

    java多线程共同操作同一个队列,怎么实现? )可执行(Runnable):每个支持多线程的系统都有一个排程器,排程器会从线程池中选择一个线程并启动它。当一个线程处于可执行状态时,表示它可能正处于线程池中等待排排程器启动它;也可能它已正在执行。 如果要8秒结束立刻执行,需要用条件变量的方法来控制,比较复杂,这样的实现方式一个可以满足需求了。 Java线程同步…

    2024年5月20日
    2900
  • 类public修饰java,以public修饰的类如 public class car

    java内部类可以用public修饰符来修饰吗? 1、在这种情况下,class前面没有加任何的访问修饰符,通常称为“默认访问模式”,在该模式下,这个类只能被同一个包中的类访问或引用,这一访问特性又称包访问性。 2、对于java类只能用public或者默认的friendly两种修饰,如果用private或protected会使得除了该类自己没有任何其它的的类可…

    2024年5月20日
    3200
  • java输出俄文字母表,俄文字母表怎么读

    java编写一个应用程序,用两个for循环语句分别输出大写和小写的字母表… 1、循环字符串用charAt方法来获取字符,将字符转为int,只要判断转换后的数值就可以判断大小写字母,大写字母的范围是65-90,小写字母的范围是97-122。 2、利用ASCⅡ码的编码值,小写字母与大写字母的编码值差值为32,比如‘a’-A=32,所以可以利用这个编码…

    2024年5月20日
    3700
  • excel人民币换算美元,excel美元换成人民币

    excel中if函数通过币种兑汇率 1、人民币A列,美元B,英镑C。在B1做公式 =A1/7(美元汇率),C1做公式 =A1/15(英镑汇率)。这样,当输入人民币后,就显示对应的美元、英镑数。1000元,142美元,66英镑。 2、可以用CELL(format,L2)取格式,返回C2是人民币,返回,2是美元。 3、单击D1, 输入公式: =A1*美元汇率+B…

    2024年5月20日
    3900
  • java教程下载,java免费教程下载

    《JAVA2实用教程》pdf下载在线阅读,求百度网盘云资源 《精通Spring x Java Web开发》深刻地揭示了Spring的技术内幕,对IOC、DI、AOP、事务管理等根基性的技术进行了深度的讲解。 本书以Java和JavaScript这两种最流行的服务器与客户端开发环境为例,全面讲解了最新的C/S应用开发范式。作者不仅讲解了很多实用的C/S开发架构…

    2024年5月20日
    4000
  • java随机生成手机号代码,java随机生成数

    …跟前3位数字相匹配的手机号码,用java怎么写代码? 1、手机号码可以用string数据类型来表示。 2、find()方法,就像你所想象的,用来搜索与正则表达式相匹配的任何目标字符串,group()方法,用来返回包含了所匹配文本的字符串。应注意的是,上面的代码,仅用在每行只能含有一个匹配的电话号码数字字符串时。 3、我想请教下大家,有谁了解怎么…

    2024年5月20日
    4600
  • 谈谈java与js中的,java和javascript的联系

    Java与JavaScript的区别是什么 用处不一样:它们最本质的不同就是用途:Java目前被广泛应用于PC端、手机端、互联网、数据中心等等;而JavaScript则被主要用于嵌入文本到HTML页面,读写HTML元素,控制cookies等。 javascript与Java是由不同的公司开发的不同产品。 不同点:Javascript和Java是不同公司开发的…

    2024年5月19日
    3900
  • java第一阶段项目,java第二阶段项目

    java程序通常要经过五个阶段。它们是什么? 1、Java程序从源文件创建到程序运行要经过两大步骤:源文件由编译器编译成字节码(ByteCode) 字节码由java虚拟机解释运行。 2、第二阶段:五年 五年又是区分程序员的第二个门槛。 3、第一阶段:java基础 Java基础超级重要,学可java基础语法,确实很乏味,又没有项目成就感。我当时就走马观花地看完…

    2024年5月19日
    3700
  • java补码运算,java 补位

    java求补码 补码,是计算机底层的知识。java,是高级语言。两者,没有交集。 注意意无符号的情况。unsigned int i=~4;的值就是4294967291 注意变量的数据长度。在c中,char和char之间,short和short之间,long和long之间的加减都按本身定义的长短。 所以~5就是-5-1=-而后面那个~a-b就是~5-3,而~5…

    2024年5月19日
    4100
  • java图片移动代码,java怎么调用图片到代码运行

    java如何实现图片拖动,放大缩小,旋转。 1、java实现图形的放大和缩小,其实就是在画图时,改变图片的长和宽。 2、这个函数可以缩放,不能旋转。头四个数是画到什么地方,后四个数是画那幅图的哪个部分,也就是可以光画图的一半等等。 3、放大图像不会导致失真,而缩小图像将不可避免的失真。Java中也同样是这样。但java提供了4个缩放的微调选项。 4、放大像素…

    2024年5月19日
    3700

发表回复

登录后才能评论



关注微信