java數字格式化為貨幣字元串
⑴ [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));
}
}
輸出結果:
貳千肆百壹十壹萬零肆十肆億肆千肆百伍十萬零貳百零叄元伍角
⑵ java中數字轉換成指定的字元串要怎麼轉
intnum=1;
Stringstr=String.format("%03d",num);
System.out.println(str);
⑶ Java中將數字轉換成字元串的問題,請問大神們,這四種轉法有什麼區別
第四種不是錯誤,可以這樣轉,只是這種轉法在內存中等於多構建了2個對象,實在不劃算
⑷ Java 將數字格式化為貨幣字元竄。。。下面這個程序應該怎麼改!求高手!!
這里不對:Number number=new Number(System.in);
Number是一個抽象類,不能被實例化的 。
還有,就沒有NumberFormat.FULL這個屬性
⑸ java中怎麼將數字轉換成字元串
toString()方法轉換成字元串。
⑹ java 數字轉換成字元串
各種數字類型轉換成字元串型:
String s = String.valueOf( value); // 其中 value 為任意一種數字類型。
字元串型轉換成各種數字類型:
String s = "169";
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );
數字類型與數字類對象之間的轉換:
byte b = 169;
Byte bo = new Byte( b );
b = bo.byteValue();
short t = 169;
Short to = new Short( t );
t = to.shortValue();
int i = 169;
b = bo.byteValue();
short t = 169;
Short to = new Short( t );
t = to.shortValue();
int i = 169;
Integer io = new Integer( i );
i = io.intValue();
long l = 169;
Long lo = new Long( l );
l = lo.longValue();
float f = 169f;
Float fo = new Float( f );
f = fo.floatValue();
double d = 169f;
Double dObj = new Double( d );
d = dObj.doubleValue();
⑺ java 用字元串實現加減法 包括兩位小數 金額格式化 可以為正負 跪求!!!!!!
只寫一個加法的部分的核心代碼,其他類似:
public String calculateAdd( String a,String b)throws Exception{
double a=Double.parseDouble(a);
double b=Double.parseDouble(b);
double result=a+b;
NumberFormat nf2 =
NumberFormat.getInstance(Locale.GERMAN); // 得到德國的格式 ,這里可以設置不
//同國家的格式,無參默認本地
String resultStr=nf2.format(result);
System.out.println(resultStr);
return resultStr;
}
注意:1.傳入的參數是數字組成的字元串,不然會出錯
2.寫代碼時注意引包
⑻ java中如何將數字轉化為字元串並且不足位數補0
具體操作如下:
String str1="1";
DecimalFormatdf=new DecimalFormat("0000");
String str2=df.format(Integer.parseInt(str1));
System.out.println(str2);
JAVA
介紹:
Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。Java技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。
簡介:
1、它最初被命名為Oak,目標設定在家用電器等小型系統的編程語言,來解決諸如電視機、電話、鬧鍾、烤麵包機等家用電器的控制和通訊問題。由於這些智能化家電的市場需求沒有預期的高,Sun放棄了該項計劃。就在Oak幾近失敗之時,隨著互聯網的發展,Sun看到了Oak在計算機網路上的廣闊應用前景,於是改造了Oak,以「Java」的名稱正式發布。
2、Java的主要工作是通過編程語言來製作互聯網頁面、製作動態效果以及網站等技術,現在網上關於這方面的教程有很多,但很多都是過時的,因為互聯網是在不斷的變化的,互聯網上的牛人,要想成為Java大神,走進這條Java大神之群,首先Java教程的開頭是二三一,Java的最中間是三一四,Java的最後面再加上零二八,把前面的綜合起來,Java大神期待你的加入。這里有很多互聯網大牛教你學習,還有免費的課程。不是想學習的就不要加了。