java數字轉貨幣
⑴ java程序。 輸入為CNY USD等貨幣縮寫。 輸出為 ¥ $等 該貨幣的符號。currency類
樓主試著給他加上語言環境吧 不過這樣就只能列印$符號了 你可以加判斷來列印輸出
System.out.println(currency.getSymbol(Locale.US));
這樣就會列印$ 但人民幣就不識別了
估計這個currency.getSymbol()方法會再本機找默認的語言環境
您可以加判斷
比如:if("CNY".equals(code)){
System.out.println(currency.getSymbol());
}else if("USD".equals(code)){
System.out.println(currency.getSymbol(Locale.US));
}else if("FRF".equals(code)){
System.out.println(currency.getSymbol(Locale.FRANCE));
}....
這個我也不是很懂 看了會API 希望可以幫到您哈
⑵ 在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 將數字格式化為貨幣字元竄。。。下面這個程序應該怎麼改!求高手!!
這里不對:Number number=new Number(System.in);
Number是一個抽象類,不能被實例化的 。
還有,就沒有NumberFormat.FULL這個屬性
⑷ java怎麼輸出貨幣符號
java輸出貨比符號測試方法:
importjava.text.NumberFormat;
importjava.util.Locale;
publicclassFormatTest{
publicstaticvoidmain(Stringargs[]){
//不使用格式化輸出數
doubled=10.0/3.0;
System.out.println("無格式化輸出:"+d);
//使用本地默認格式輸出數
NumberFormatnumberFormat=NumberFormat.getNumberInstance();
//numberFormat.setMaximumFractionDigits(4);
//numberFormat.setMinimumIntegerDigits(6);
StringnumberString=numberFormat.format(d);
System.out.println("本地默認格式輸出數:"+numberString);
//使用本地默認格式輸出貨幣值
NumberFormatcurrencyFormat=NumberFormat.getCurrencyInstance();
System.out.println("本地默認格式輸出貨幣值:"+currencyFormat.format(d));
//使用本地默認格式輸出百分數
NumberFormatpercentFormat=NumberFormat.getPercentInstance();
System.out.println("本地默認格式輸出百分數:"+percentFormat.format(d));
//在不同的國家和地區數字表示的格式也有區別。如德國
//使用德國的格式化輸出數
NumberFormatnumberFormatG=NumberFormat
.getNumberInstance(Locale.GERMANY);
System.out.println("德國數字輸出形式:"+numberFormatG.format(d));
//使用德國貨幣輸出形式
NumberFormatcurrencyFormatG=NumberFormat
.getCurrencyInstance(Locale.GERMANY);
System.out.println("德國貨幣輸出形式:"+currencyFormatG.format(d));
//使用美國貨幣輸出形式
NumberFormatcurrencyFormatA=NumberFormat
.getCurrencyInstance(Locale.US);
System.out.println("美國貨幣輸出形式:"+currencyFormatA.format(d));
//使用德國百分數輸出形式
NumberFormatpercentFormatG=NumberFormat
.getPercentInstance(Locale.GERMANY);
System.out.println("德國百分數輸出形式:"+percentFormatG.format(d));
System.exit(0);
}
}
⑸ 用java將浮點數轉換成人民幣讀法字元串
通過小數點分組,轉換成字元串,逐位比較准換數值(前提先將大寫數字轉換好)
⑹ Java中,怎麼將一段浮點數值轉換成人民幣格式例如將12004567.866轉換成 :壹千貳百萬
直接通過以下介面類方法實現即可:importjava.math.BigDecimal;/***金額工具類**@authorzn**@Date2013-2-1*@[email protected]*/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;i1&&integers[i+1]!=0)key+=NUMBERS[0];}chineseInteger.append(integers[i]==0?key:(NUMBERS[integers[i]]+IUNIT[length-i-1]));}returnchineseInteger.toString();}/***得到中文金額的小數部分。*/(int[]decimals){StringBufferchineseDecimal=newStringBuffer("");for(inti=0;i4){StringsubInteger="";if(length>8){//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 string.format 如何轉換人民幣符號¥
一般用Format的子類來實現這個功能的:DecimalFormat
DecimalFormat df=new DecimalFormat("###,###.##¥");
//#表示數字。這個模式代表 整數部分每三位會有一個,隔開 小數部分四捨五入為2位。
//¥的位置可以任意更改
System.out.println(df.format(1231.12));
⑻ java 阿拉伯數字錢幣轉換中文輸入小問題。
自己定義一個類吧 數字和轉換後的都放著
⑼ 在java里,如何將double類型的數字轉換成貨幣那種形式,數字是用逗號分開的那種
Format fm1=new DecimalFormat("#,###.00");
double num1=12345.678;
fm1.format(num1);
可以自己在程序里試試哈。
⑽ [JAVA]求一個將數字字元串轉換成人民幣讀法的方法();
上午也看到有人問這個,不知道和Lz是不是同一個人~
我直接復制好了,那邊的那個是我寫的,要是有漏洞還希望可以積極指出,我會盡快完善:
package com.ufotable.test;
import java.math.BigDecimal;
public class Test8 {
public enum RMB{
角,分,元,十,百,千,萬W,十萬,百萬,千萬,億Y,十億,百億,千億,萬W億,十萬億,百萬億,千萬億,兆Z,十兆,百兆,千兆,萬W兆,十萬兆,百萬兆,千萬兆,億Y兆
} public enum NUM{
零,壹,貳,叄,肆,伍,陸,柒,玐,玖
}
static String read(Integer rmb){
return read(rmb.toString());
}
static String read(double rmb){
return read(new BigDecimal(rmb).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
}
static String read(Long rmb){
return read(rmb.toString());
}
static String read(String rmb){
String str1=rmb.replaceAll("\\.\\d*", ""),
str2=rmb.replaceAll("[-]|\\d+\\.", ""),
str3="";
if(rmb.charAt(0)=='-'){str1=str1.substring(1);str3="負";}
int i = 0;
while(i<str1.length()){
int j = str1.length()-i+1;
int c=(str1.charAt(i++)-'0')%9;
str3+=NUM.values()[c].name()+
RMB.values()[j];
}
int j=0;
while(j<str2.length()&&j<2){
int c=(str2.charAt(j++)-'0')%9;
str3+=NUM.values()[c].name()+RMB.values()[j-1];
}
str3=str3.replaceAll("萬", "").replaceAll("億", "").replaceAll("兆", "").
replaceAll("零{1}[兆,億,萬,千,百,十,角]{1}", "零").
replaceAll("零+", "零").
replaceAll("W", "萬").
replaceAll("Y", "億").
replaceAll("Z", "兆").
replaceAll("零億", "億").
replaceAll("零萬", "萬").
replaceAll("零兆", "兆").
replaceAll("零元|元零", "元").
replaceAll("零分|元分", "元").
replaceAll("角元", "角");
return str3;
}
public static void main(String[] args) {
System.out.println(read(2411004444500203.405));
}
}
輸出結果:
貳千肆百壹十壹萬零肆十肆億肆千肆百伍十萬零貳百零叄元伍角