「java人民币转换」java金额转换

博主:adminadmin 2022-11-21 21:00:10 61

本篇文章给大家谈谈java人民币转换,以及java金额转换对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java中,怎么将一段浮点数值转换成人民币格式?例如将12004567.866转换成 :壹千贰百万

直接通过以下接口类方法实现即可:importjava.math.BigDecimal;/***金额工具类**@authorzn**@Date2013-2-1*@Emailzn.share@gmail.com*/publicclassMoneyUtil{privatestaticfinalintDFT_SCALE=2;/**大写数字*/privatestaticfinalString[]NUMBERS={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};/**整数部分的单位*/privatestaticfinalString[]IUNIT={"元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","万","拾","佰","仟"};/**小数部分的单位*/privatestaticfinalString[]DUNIT={"角","分","厘"};/***得到大写金额。*/publicstaticStringtoChinese(Stringstr){str=str.replaceAll(",","");//去掉","StringintegerStr;//整数部分数字StringdecimalStr;//小数部分数字//初始化:分离整数部分和小数部分if(str.indexOf(".")0){integerStr=str.substring(0,str.indexOf("."));decimalStr=str.substring(str.indexOf(".")+1);}elseif(str.indexOf(".")==0){integerStr="";decimalStr=str.substring(1);}else{integerStr=str;decimalStr="";}//integerStr去掉首0,不必去掉decimalStr的尾0(超出部分舍去)if(!integerStr.equals("")){integerStr=Long.toString(Long.parseLong(integerStr));if(integerStr.equals("0")){integerStr="";}}//overflow超出处理能力,直接返回if(integerStr.length()IUNIT.length){System.out.println(str+":超出处理能力");returnstr;}int[]integers=toArray(integerStr);//整数部分数字booleanisMust5=isMust5(integerStr);//设置万单位int[]decimals=toArray(decimalStr);//小数部分数字returngetChineseInteger(integers,isMust5)+getChineseDecimal(decimals);}/***整数部分和小数部分转换为数组,从高位至低位*/privatestaticint[]toArray(Stringnumber){int[]array=newint[number.length()];for(inti=0;i1integers[i+1]!=0)key+=NUMBERS[0];}chineseInteger.append(integers[i]==0?key:(NUMBERS[integers[i]]+IUNIT[length-i-1]));}returnchineseInteger.toString();}/***得到中文金额的小数部分。*/privatestaticStringgetChineseDecimal(int[]decimals){StringBufferchineseDecimal=newStringBuffer("");for(inti=0;i4){StringsubInteger="";if(length8){//TODO12-9-17//取得从低位数,第5到第8位的字串subInteger=integerStr.substring(length-8,length-4);}else{subInteger=integerStr.substring(0,length-4);}returnInteger.parseInt(subInteger)0;}else{returnfalse;}}/***BigDecimal相乘,四舍五入保留0位**@parama*@paramb*@returna*b*/publicstaticBigDecimalmutiply(Stringa,Stringb,introundingMode){BigDecimalbd=newBigDecimal(a);returnbd.multiply(newBigDecimal(b)).setScale(DFT_SCALE,roundingMode);}/***BigDecimal相除,四舍五入保留两位**@parama*@paramb*@returna/b*/publicstaticBigDecimaldiv(Stringa,Stringb,introundingMode){BigDecimaldecimal1=newBigDecimal(a);BigDecimaldecimal2=newBigDecimal(b);returndecimal1.divide(decimal2,DFT_SCALE,roundingMode);}/***BigDecimal相加,四舍五入保留两位**@parama*@paramb*@returna+b*/publicstaticBigDecimalsum(Stringa,Stringb,introundingMode){BigDecimaldecimal1=newBigDecimal(a);BigDecimaldecimal2=newBigDecimal(b);//DecimalFormatformat=newDecimalFormat("#0.00");returndecimal1.add(decimal2).setScale(DFT_SCALE,roundingMode);}/***BigDecimal相减,四舍五入保留两位**@parama*@paramb*@returna+b*/publicstaticBigDecimalsub(Stringa,Stringb,introundingMode){BigDecimaldecimal1=newBigDecimal(a);BigDecimaldecimal2=newBigDecimal(b);//DecimalFormatformat=newDecimalFormat("#0.00");returndecimal1.subtract(decimal2).setScale(DFT_SCALE,roundingMode);}/***100.00为10000**@parama*@return*/publicstaticBigDecimalformat(Stringa,introundingMode){returnnewBigDecimal(a).multiply(newBigDecimal(100)).setScale(0,roundingMode);}publicstaticvoidmain(String[]args){Stringnumber="54452";System.out.println(number+""+MoneyUtil.toChinese(number));number="30200";System.out.println(number+""+MoneyUtil.toChinese(number));number="30000.05";System.out.println(number+""+MoneyUtil.toChinese(number));number="30000.00";System.out.println(number+""+MoneyUtil.toChinese(number));}}备注:最后面的main方法是具体的调用。

在java中人民币汇率转换成美元和欧元怎么写打码

public class Test {public static void main(String args[]){String word = "hello world ! 123456 hI, tHEre";String[] words =word.split(" "); for (int i = 0; i words.length; i++) {for (int j = 0; j words[i].length(); j++) {if (j==0) {System.out.print((words[i].charAt(j)+"").toUpperCase());} else {System.out.print((words[i].charAt(j)+"").toLowerCase());}}System.out.print(" ");}}}使用空格区分单词,自动单词首字母大写,其他部分小写。如果单词首字母以外的部分不需要修改的话把else删掉即可。

用java写一个汇率的程序:将人民币与美元、欧元、英镑等多种货币的汇率保存在指定文件中,设计图形用

程序:

import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; class test8{ public static void main(String[] args) { JFrame f=new JFrame(); f.setSize(200, 200); JTextArea t1 = new JTextArea(1,5); JTextArea t2 = new JTextArea(1,5); JButton b1=new JButton("test it"); Label l1,l2; l1 = new Label(); l2 = new Label(); l1.setText("Please Enter The Number"); l2.setText("The Result Of The Test"); Choice c = new Choice(); c.add("RMB"); c.add("KRW"); c.add("DOLLAR"); Choice c1 = new Choice(); c1.add("RMB"); c1.add("KRW"); c1.add("DOLLAR"); f.add(l1); f.add(t1); f.add(c); f.add(l2); f.add(t2); f.add(c1); f.add(b1); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {if(c.getSelectedItem()=="RMB"c1.getSelectedItem()=="DOLLAR") {String s; s=t1.getText(); int q=0; q=Integer.parseInt(s); double w; w=q*0.1452; String r = Double.toString(w); t2.setText(r); } else if(c.getSelectedItem()=="DOLLAR"c1.getSelectedItem()=="RMB") {String s; s=t1.getText(); int q=0; q=Integer.parseInt(s); double w; w=q*6.8866; String r = Double.toString(w); t2.setText(r); } else if(c.getSelectedItem()=="RMB"c1.getSelectedItem()=="KRW") {String s; s=t1.getText(); int q=0; q=Integer.parseInt(s); double w; w=q*164.9824; String r = Double.toString(w); t2.setText(r); } else if(c.getSelectedItem()=="KRW"c1.getSelectedItem()=="RMB") {String s; s=t1.getText(); int q=0; q=Integer.parseInt(s); double w; w=q*0.0061; String r = Double.toString(w); t2.setText(r); } else if(c.getSelectedItem()=="DOLLAR"c1.getSelectedItem()=="KRW") {String s; s=t1.getText(); int q=0; q=Integer.parseInt(s); double w; w=q*1136.2500; String r = Double.toString(w); t2.setText(r); } else if(c.getSelectedItem()=="KRW"c1.getSelectedItem()=="DOLLAR") {String s; s=t1.getText(); int q=0; q=Integer.parseInt(s); double w; w=q*0.0009; String r = Double.toString(w); t2.setText(r); } } } ); f.setLayout(new FlowLayout()); f.setVisible(true); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } }

操作环境:java 版型号:8.64

拓展资料:

1、Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

2、由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构并为其制定了相应的规范,其中就定义了这种硬件平台的二进制机器码指令系统(即后来成为“字节码”的指令系统),以待语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台。对于新语言的设计,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。

操作环境:java 版型号:8.64

操作环境:C++ 版型号:8.2.64

注释java人民币小写转换大写的代码

publicstatic String toRMB(double money) {

char[] s1 = {'零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'};

char[] s4 = {'分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', '万'};

//这两句是为后面转换做字典准备

String str = String.valueOf(Math.round(money * 100 + 0.00001));

//这是把参数money小数点后移2位,然后取整,即按照“分”为单位取整,再转为字符串型

String result = "";

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

int n = str.charAt(str.length() - 1 - i) - '0';

result = s1[n] + "" + s4[i] + result;

}

//这一段是按照转换出来的字符串按位取数字,再按照上面的字典将其逐位翻译成汉字

//如“2011”就翻译成“贰仟零佰壹拾壹元”,“98700432.10”就是“玖仟捌佰柒拾零万零仟肆佰叁拾贰元壹角零分”——注:这里的人民币大写汉字,貌似有错误,请查阅相关资料更正

//以上的翻译可以看出,和我们平时的认读有差别,于是以下就是在将那些应该纠正的地方手动剔除以下。上述两个例子最后得到的结果应该是“贰仟零壹拾壹元整”,“玖仟捌佰柒拾万零肆佰叁拾贰元壹角整”

result = result.replaceAll("零仟", "零");

result = result.replaceAll("零佰", "零");

result = result.replaceAll("零拾", "零");

result = result.replaceAll("零亿", "亿");

result = result.replaceAll("零万", "万");

result = result.replaceAll("零元", "元");

result = result.replaceAll("零角", "零");

result = result.replaceAll("零分", "零");

result = result.replaceAll("零零", "零");

result = result.replaceAll("零亿", "亿");

result = result.replaceAll("零零", "零");

result = result.replaceAll("零万", "万");

result = result.replaceAll("零零", "零");

result = result.replaceAll("零元", "元");

result = result.replaceAll("亿万","亿");

result = result.replaceAll("零$", "");

result = result.replaceAll("元$", "元整");

result = result.replaceAll("角$", "角整");

return result;

}

「java人民币转换」java金额转换

用JAVA做个人民币大小写转换器

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class GUI extends JPanel{

private JTextField inTextField=new JTextField(20);

private JTextField outTextField=new JTextField(50);

private Timer timer=new Timer(100,new TimerListener());

private Changer changer=new Changer();//转换器//

public GUI(){

JPanel p1=new JPanel();

p1.add(new JLabel("小写"));

p1.add(inTextField);

p1.add(new JLabel("大写"));

p1.add(outTextField);

setLayout(new BorderLayout());

add(p1,BorderLayout.CENTER);

outTextField.setEditable(false);

inTextField.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

timer.stop();

changer.setIn(inTextField.getText());

outTextField.setText(changer.change());

timer.start();

}

});

timer.start();

}

class TimerListener implements ActionListener{

public void actionPerformed(ActionEvent e){

if(!inTextField.getText().equals("")){

changer.setIn(inTextField.getText());

outTextField.setText(changer.change());

}

}

}

public static void main(String[] args){

JFrame frame=new JFrame();

GUI gui=new GUI();

frame.getContentPane().add(gui);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.pack();

}

static class Changer{

String in;

String out="";

public Changer(){

}

public Changer(String in){

this.in=in;

}

public void setIn(String in){

this.in=in;

}

public String change(){

int lengthOfP1=(in.indexOf(".")!=-1) ? in.indexOf(".") : in.length();

//整数部分//;

int lengthOfP2=(in.indexOf(".")!=-1) ? in.length()-lengthOfP1-1 : in.length()-lengthOfP1 ;

//小数部分//;

if(lengthOfP22){

in=in.substring(0,in.indexOf(".")+3);

}

//取两位小数//

int p1=0;

int p2=0;

if(in.indexOf(".")!=-1in.indexOf(".")!=in.length()-1){

p1=Integer.parseInt(in.substring(0,in.indexOf(".")));

p2=Integer.parseInt(in.substring(in.indexOf(".")+1,in.length()));

//取两位小数//

}

else if(in.indexOf(".")==in.length()-1){

p1=Integer.parseInt(in.substring(0,in.indexOf(".")));

}

else{

p1=Integer.parseInt(in);

}

if(p210lengthOfP2==1){

p2=p2*10;

}

//取两位数//

if(lengthOfP1=10){

return "Too much money.";

}

for(int i=lengthOfP1;i0;i--){

int temp=(p1/((int)Math.pow(10,i-1)));

out+=value3(temp)+value1(i);

p1=p1%(int)Math.pow(10,i-1);

}

for(int i=2;i0;i--){

int temp=(p2/((int)Math.pow(10,i-1)));

out+=value3(temp)+value2(i);

p2=p2%(int)Math.pow(10,i-1);

}

String output=out;

out="";

return output;

}

public static String value1(int num){

switch(num){

case 1:

return "元";

case 2:

return "十";

case 3:

return "百";

case 4:

return "千";

case 5:

return "万";

case 6:

return "十万";

case 7:

return "百万";

case 8:

return "千万";

case 9:

return "亿";

default:

return null;

}

}//转为中文符号//

public static String value2(int num){

switch(num){

case 2:

return "角";

case 1:

return "分";

default:

return null;

}

}//转为中文符号//

public static String value3(int num){

String s="零壹贰叁肆伍陆柒捌玖";

return s.charAt(num)+"";

}//转大写//

}

}

关于java人民币转换和java金额转换的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。