java格式化
Ⅰ java對數字格式化的幾種方法
在NumberFormat類中為我們提供了格式化4種數字的方法:整數、小數、貨幣和百分比,通過工廠方法getNumberInstance, getNumberIntance, getCurrencyInstance, getPercentInstance方法獲得相應的實例對象就行。例如我們要以字元串表示人民幣88888.88元,這樣來寫就行:
NumberFormat nf = NumberFormat.getCurrencyInstance();
System.out.println(nf.format(88888.88));
定製格式化數字
可是對於稍微復雜一點的需求,NumberFormat就滿足不了了,幸好java還提供了DecimalFormat實現定製的格式化。要使用DecimalFormat對象,必須提供給它提供一個格式化的模式(pattern):
String pattern = …
DecimalFormat df = new DecimalFormat(pattern);
或者:
DecimalFormat df = new DecimalFormat();
df. applyPattern(pattern);
然後就調用它的format方法就行了。
Ⅱ JAVA中格式化的問題
publicclassTest{
publicstaticvoidmain(String[]args){
int[]n=newint[]{7,8,9,10};
intbit=3;
for(inti=0;i<n.length;i++){
System.out.println(formatNum(n[i],bit));
}
}
/**
*取格式化數字
*@paramnum數字
*@parambit保留位數
*@return
*/
publicstaticStringformatNum(longnum,intbit){
Stringn=num+"";
for(inti=n.length();i<bit;i++){
n=0+n;
}
returnn;
}
}
Ⅲ java 怎樣將string 格式化
在java中,將浮點數格式化為string,一般使用DecimalFormat。DecimalFormat的用法示例如下:DecimalFormatdf=newDecimalFormat();doubledata=1234.56789;System.out.println("格式化之前的數字:"+data);Stringstyle="0.0";//定義要顯示的數字的格式df.applyPattern(style);//將格式應用於格式化器System.out.println("採用style:"+style+"格式化之後:"+df.format(data));style="00000.000kg";//在格式後添加諸如單位等字元df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"#"表示如果該位存在字元,則顯示字元,如果不存在,則不顯示。style="##000.000kg";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"-"表示輸出為負數,要放在最前面style="-000.000";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的","在數字中添加逗號,方便讀數字style="-0,000.0#";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"E"表示輸出為指數,"E"之前的字元串是底數的格式,//"E"之後的是字元串是指數的格式style="0.00E000";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"%"表示乘以100並顯示為百分數,要放在最後。style="0.00%";df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df.format(data));//模式中的"\u2030"表示乘以1000並顯示為千分數,要放在最後。style="0.00\u2030";//在構造函數中設置數字格式DecimalFormatdf1=newDecimalFormat(style);//df.applyPattern(style);System.out.println("採用style:"+style+"格式化之後:"+df1.format(data));下面是總結:格式化之前的數字:1234.56789採用style:0.0格式化之後:1234.6採用style:00000.000kg格式化之後:01234.568kg採用style:##000.000kg格式化之後:1234.568kg採用style:-000.000格式化之後:-1234.568採用style:-0,000.0#格式化之後:-1,234.57採用style:0.00E000格式化之後:1.23E003採用style:0.00%格式化之後:123456.79%採用style:0.00‰格式化之後:1234567.89‰
Ⅳ java數字如何格式化
public static String xxx(String aa) {
String flag = "";
if (aa.length() > 4) {
flag = aa.substring(0, 3) + "." + aa.substring(3, 4);
} else {
flag = aa;
}
return flag;
}
//當然可以繼續判斷大於5為四捨五入
Ⅳ java數字格式化
用 %3.2f格式化後, 替換逗號即可;
同理, 用 #,##0.00 格式化後, 替換, 為空格即可.
你的需求:
doublex=1234.5;
DecimalFormatdf=newDecimalFormat("#,###.0");
Stringxs=df.format(x);
xs=xs.replace(",","").replace(".",",");
System.out.println(xs);
輸出
1234,5
Ⅵ java格式化字元串
裡面傳兩個參數,第一個用%s佔位第二個傳要列印的參數即可
Ⅶ java中怎麼格式化日期
你可以用String類的format方法,例如: System.out.println(String.format("%ty年%<tm月%<td日",date));下面是一個完整的例子。
publicclassFormatDateTest
{
publicstaticvoidmain(String[]args)
{
Datedate=newDate(System.currentTimeMillis());
System.out.println(String.format("%ty年%<tm月%<td日",date));
System.out.println(String.format("%tY年%<tm月%<td日",date));
System.out.println(String.format("%tY年%<tm月%<td日%<tH時%<tM分%<tS秒",date));
}
}
%ty是格式化年,%tm是格式化年,%td是格式化天,%tH格式化發時,%tM格式化分,%tS格式化秒。另外%tY是把年格式化為四位形式,如1999,而不是99。%tI是把時格式化為12小時制。格式化字元串中的<是表示格式化同一個日期,當然你也可以這么寫:System.out.println(String.format("%ty年%tm月%td日",date,date,date));
Ⅷ JAVA怎麼格式化文檔
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Test {
public static void main(String[] args){
System.out.println(parseFile("c:\\abc.txt"));
}
private static String parseFile(String filePath){
FileReader fReader = null;
try {
fReader = new FileReader(filePath);
} catch (FileNotFoundException e) {
System.out.println("文件沒有找到:"+filePath);
System.exit(-1);
}
BufferedReader bufferedReader = new BufferedReader(fReader);
StringBuffer stringBuffer = new StringBuffer();
String s = null;
try {
while((s=bufferedReader.readLine())!=null){
s=s.replaceAll(":", " ");
stringBuffer.append((s+bufferedReader.readLine()).replaceAll("#", "")+"\r\n");
stringBuffer.append((s+bufferedReader.readLine()).replaceAll("#", "")+"\r\n");
}
} catch (IOException e) {
System.out.println("文件內容讀取錯誤");
System.exit(-1);
}
return stringBuffer.toString();
}
}
測試文件為c:\abc.txt,其內容為:
YUNFENG:603E:SNL 0185762:SIGAPORE#
20:GP:4:HUB#
40:RF:5:SNL#
YUNFENG:603E:JL 4547357:PUSAN#
20:GP:4:HUB#
40:RT:5:JL#
HANYANG:603E:HUB 8576276:SIGAPORE#
20:RH:4:HUB#
40:RF:5:SNL#
輸出結果為:
YUNFENG 603E SNL 0185762 SIGAPORE20:GP:4:HUB
YUNFENG 603E SNL 0185762 SIGAPORE40:RF:5:SNL
YUNFENG 603E JL 4547357 PUSAN20:GP:4:HUB
YUNFENG 603E JL 4547357 PUSAN40:RT:5:JL
HANYANG 603E HUB 8576276 SIGAPORE20:RH:4:HUB
HANYANG 603E HUB 8576276 SIGAPORE40:RF:5:SNL
不知道是否滿足你的要求,但是文件必須嚴格按照你給的格式,即每3行為一段,如果有別的需求你可以自己在行調整代碼,以上僅供參考 答案補充 上面的代碼忘了關閉流了。。。。
你自己加上吧:bufferedReader.close();
Ⅸ JAVA裡面如何格式化數字
java提供了格式化double類型的方法:NumberFormat.getInstance().format(a);這個是java內置的函數可以直接格式化double類型的數字;NumberFormat要導入import java.text.NumberFormat;即可。