「Java人民数量」java八大基本类型

博主:adminadmin 2023-01-05 11:00:08 732

本篇文章给大家谈谈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软件开发,一年能剩多少人民币啊?

好像是20W人民币的样子吧,反正比国内的高。不过那边消费也比较高。

要会日语啥,这个就难住很多很多人了。

java:人民币大小写转换:比如比输入123456,要求输出:拾贰万叁仟肆佰伍拾柒,请不要用数组方法

public class MoneySmallToBig {

转自CSDN的东东

/**

* 人民币大小写转换

*/

//别说这里用数组,这里定义大写的是必须的

public static String[] number = new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖" };

public static String[] units = new String[]{"元","拾","佰","仟"};

public static void change(String smoney){

StringBuffer sb=new StringBuffer();

//小数点的位置

int index=smoney.indexOf(".");

//biggerstr用于存放存有数字和单位的字符

StringBuffer biggerstr=new StringBuffer();

//处理小数部分

biggerstr.append("分");

biggerstr.append(number[Integer.parseInt(smoney.charAt(index+2)+"")]);

biggerstr.append("角");

biggerstr.append(number[Integer.parseInt(smoney.charAt(index+1)+"")]);

//处理整数部分

for(int i=0;iindex;i++){

sb.append(number[Integer.parseInt(smoney.charAt(i)+"")]);

}

sb=sb.reverse();

String insertstr=sb.toString();

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

//插入单位

if(i==0){

biggerstr.append("元");

}

else if((i+4)%4==0 i!=8){

biggerstr.append("万");

}

else if(i%8==0){

biggerstr.append("亿");

}

else

biggerstr.append(units[i%4]);

//插入数字

biggerstr.append(insertstr.charAt(i));

}

//instead_zero字符串用于存放清除零之后的

String instead_zero=biggerstr.reverse().toString();

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

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

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

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

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

//把相连的零去掉

instead_zero=instead_zero.replaceAll("[零]+","零");

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

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

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

//把字符串中的最后一个零去掉

if(instead_zero.charAt(instead_zero.length()-1)=='零'){

instead_zero=instead_zero.substring(0, instead_zero.length()-1);

}

System.out.println(instead_zero);

}

public static void main(String[] args) {

String smoney="1020089090.89";

change(smoney);

}

}

java 输出应给顾客找零金额的各种面额人民币张数.在主函数中输入商品价格和顾客付款,调用函数得结果.

人民币的设计就是按照最大面值最小张数生成的概念设计的。

所以每次你只要用“差/当前可选最大面值”然后递归去算就可以了。

比如差8块、直接8/5 然后余3再 3/2余 1然后1/1余0,递归结束。就可以了。

用java编写一个程序,可实现人民币,美元,日元,欧元,台币,港币之间的任意转换

package Test;

import javax.swing.JOptionPane;

public class Test2 {

 public static void main(String[] args) {

  int numOf10=0;

  int numOf5=0;

  int numOf1=0;

  int numOf0_5=0;

  int numOf0_1=0;

  Double money=Double.parseDouble(JOptionPane.showInputDialog("输入money"));

  int total=(int)(money*10);

  while(total0){

   if((total-100)=0){

    total-=100;

    numOf10++;

   }else if((total-50)=0){

    total-=50;

    numOf5++;

   }else if((total-10)=0){  

    total-=10;  

    numOf1++;

   }else if((total-5)=0){ 

    total-=5;  

    numOf0_5++;

   }else if((total-1)=0){

    total-=1;    

    numOf0_1++;

   }

  }

  if(numOf10!=0){

   System.out.println("10元人民币:"+numOf10+"张");

  }

  if(numOf5!=0){

   System.out.println("5元人民币:"+numOf5+"张");

  }

  if(numOf1!=0){

   System.out.println("1元人民币:"+numOf1+"张");

  }

  if(numOf0_5!=0){

   System.out.println("5角人民币:"+numOf0_5+"张");

  }

  if(numOf0_1!=0){

   System.out.println("1角人民币:"+numOf0_1+"张");

  }

 }

}

Java人民数量的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java八大基本类型、Java人民数量的信息别忘了在本站进行查找喔。