亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

格式化輸出數字

2019-11-18 13:24:37
字體:
來源:轉載
供稿:網友

  格式化輸出數字
  有時我們需要控制輸出的數字的格式,如何使用java的類庫做到這個呢?
  
  也許你不關心格式,但是你需要關心你的程序可以在全世界通用,像下面的這樣一個簡單的語句是依靠地區的:
  
   System.out.PRintln(1234.56);
  
  在美國,"." 是小數點,但在其它地方就不一定了。如何處理這個呢?
  
  java.text 包中的一些包可以處理這類問題。下面的簡單范例使用那些類解決上面提出的問題:
  
   import java.text.Numberformat;
  
   import java.util.Locale;
  
   public class Decimalformat1 {
  
   public static void main(String args[]) {
  
   // 得到本地的缺省格式
  
   Numberformat nf1 = Numberformat.getInstance();
  
   System.out.println(nf1.format(1234.56));
  
   // 得到德國的格式
  
   Numberformat nf2 =
  
   Numberformat.getInstance(Locale.GERMAN);
  
   System.out.println(nf2.format(1234.56));
  
   }
  
   }
  
  假如你在美國,運行程序后輸出:
  
   1,234.56
  
   1.234,56
  
  換句話說,在不同的地方使用不同的習慣表示數字。
  
  Numberformat.getInstance()方法返回Numberformat的一個實例(實際上是Numberformat具體的一個子類,例如Decimalformat), 這適合根據本地設置格式化一個數字。你也可以使用非缺省的地區設置,例如德國。然后格式化方法根據特定的地區規則格式化數字。這個程序也可以使用一個簡單的形式:
  
   Numberformat.getInstance().format(1234.56)
  
  但是保存一個格式然后重用更加有效。國際化是格式化數字時的一個大問題。
  
  另一個是對格式的有效控制,例如指定小數部分的位數,下面是解決這個問題的一個簡單例子:
  
   import java.text.Decimalformat;
  
   import java.util.Locale;
  
   public class Decimalformat2 {
  
   public static void main(String args[]) {
  
   // 得到本地的缺省格式
  
   Decimalformat df1 = new Decimalformat("####.000");
  
   System.out.println(df1.format(1234.56));
  
   // 得到德國的格式
  
   Locale.setDefault(Locale.GERMAN);
  
   Decimalformat df2 = new Decimalformat("####.000");
  
   System.out.println(df2.format(1234.56));
  
   }
  
   }
  
  在這個例子中設置了數字的格式,使用像"####.000"的符號。這個模式意味著在小數點前有四個數字,假如不夠就空著,小數點后有三位數字,不足用0補齊。程序的輸出:
  
   1234.560
  
   1234,560
  
  相似的,也可以控制指數形式的格式,例如:
  
   import java.text.Decimalformat;
  
   public class Decimalformat3 {
  
   public static void main(String args[]) {
  
   Decimalformat df = new Decimalformat("0.000E0000");
  
   System.out.println(df.format(1234.56));
  
   }
  
   }
  
  輸出:
  
   1.235E0003
  
  對于百分數:
  
   import java.text.Numberformat;
  
   public class Decimalformat4 {
  
   public static void main(String args[]) {
  
   Numberformat nf = Numberformat.getPercentInstance();
  
   System.out.println(nf.format(0.47));
  
   }
  
   }
  
  輸出:
  
   47%
  
  至此,你已經看到了格式化數字的幾個不同的技術。另一方面,如何讀取并解析包含格式化的數字的字符串?解析支持包含在Numberformat中。例如:
  
   import java.util.Locale;
  
   import java.text.Numberformat;
  
   import java.text.ParseException;
  
   public class Decimalformat5 {
  
   public static void main(String args[]) {
  
   // 本地格式
  
   Numberformat nf1 = Numberformat.getInstance();
  
   Object obj1 = null;
  
   // 基于格式的解析
  
   try {
  
   obj1 = nf1.parse("1234,56");
  
   }
  
   catch (ParseException e1) {
  
   System.err.println(e1);
  
   }
  
   System.out.println(obj1);
  
   // 德國格式
  
   Numberformat nf2 =
  
   Numberformat.getInstance(Locale.GERMAN);
  
   Object obj2 = null;
  
   // 基于格式的解析
  
   try {
  
   obj2 = nf2.parse("1234,56");
  
   }
  
   catch (ParseException e2) {
  
   System.err.println(e2);
  
   }
  
   System.out.println(obj2);
  
   }
  
   }
  
  這個例子分兩部分,都是解析一個字符串:"1234,56"。第一部分使用本地格式解析,第二部分使用德國格式解析。當程序在美國運行,結果是:
  
   123456
  
   1234.56
  
  換句話說,"1234,56"在美國被認為是一個巨大的整數"123456"而在德國被認為是一個小數"1234.56"。
  
  還有格式化討論的最后一個問題。在上面的例子中, Decimalformat 和 Numberformat 都被使用了。Decimalformat 常用于獲得很好的格式控制,而Numberformat 常用于指定不同于本地的地區。如何結合兩個類呢?
  
  答案圍繞著這樣的事實:Decimalformat是Numberformat的一個子類,其實例被指定為特定的地區。因此,你可以使用Numberformat.getInstance 指定一個地區,然后將結構強制轉換為一個Decimalformat對象。文檔中提到這個技術可以在大多情況下適用,但是你需要用try/catch 塊包圍強制轉換以防轉換不能正常工作 (大概在非常不明顯得情況下使用一個奇異的地區)。下面是一個這樣的例子:
  
   import java.text.Decimalformat;
  
   import java.text.Numberformat;
  
   import java.util.Locale;
  
   public class Decimalformat6 {
  
   public static void main(String args[]) {
  
   Decimalformat df = null;
  
   // 得到一個Numberformat 對象并
  
   // 強制轉換為一個 Decimalformat 對象
  
   try {
  
   df = (Decimalformat)
  
   Numberformat.getInstance(Locale.GERMAN);
  
   }
  
   catch (ClassCastException e) {
  
   System.err.println(e);
  
   }
  
   // 設置格式模式
  
   df.applyPattern("####.00000");
  
   // format a number
  
   System.out.println(df.format(1234.56));
  
   }
  
   }
  
  
  getInstance() 方法獲得格式,然后調用applyPattern()方法設置格式模式,輸出:
  
   1234,56000
  
  假如你不關心國際化,可以直接使用Decimalformat 。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品99久久久久中文字幕| 97超碰国产精品女人人人爽| 国产成人精品日本亚洲专区61| 亚洲午夜av电影| 欧美日韩一二三四五区| 成人精品视频在线| 成人美女免费网站视频| 91精品国产色综合久久不卡98口| 福利一区视频在线观看| 国产精品一区二区久久久久| 欧美成人免费小视频| 伊人男人综合视频网| 国产精品黄色影片导航在线观看| 欧美大成色www永久网站婷| 热久久这里只有精品| 成人免费看吃奶视频网站| 91九色视频在线| 日韩欧美中文字幕在线观看| 久久久97精品| www.日韩.com| 久精品免费视频| 欧美日韩第一视频| 色偷偷91综合久久噜噜| 久久久国产精品x99av| 国产综合久久久久久| 午夜精品福利视频| 国产欧美亚洲精品| 91情侣偷在线精品国产| 91高清免费在线观看| 久久精品国产免费观看| 日韩精品视频中文在线观看| 97婷婷大伊香蕉精品视频| 欧美wwwwww| 亚洲摸下面视频| 久久夜精品香蕉| 日韩黄色高清视频| 亚洲有声小说3d| 国产丝袜精品视频| 国产啪精品视频网站| 国产精品极品尤物在线观看| 97视频在线播放| 欧美精品精品精品精品免费| 欧美激情亚洲视频| 久99九色视频在线观看| 国产视频久久久| 久久久精品免费| 精品日本高清在线播放| 最好看的2019年中文视频| 欧美日韩亚洲一区二区| 日韩欧美有码在线| 亚洲精品电影在线观看| 精品久久久一区二区| www.日韩视频| 国产精品日韩精品| 国产欧美日韩专区发布| 亚洲免费视频网站| 国产一区二区三区毛片| 国产成人精品综合| 日韩高清av在线| 欧美日韩电影在线观看| 富二代精品短视频| 日韩欧美亚洲一二三区| 国产不卡一区二区在线播放| 91九色视频导航| 97超碰国产精品女人人人爽| 亚洲欧美自拍一区| 国产精品99久久久久久久久| 性欧美激情精品| 日本一区二区三区四区视频| 亚洲伊人久久大香线蕉av| 国产不卡av在线| 中文字幕亚洲欧美日韩高清| 久久999免费视频| 成人做爽爽免费视频| 日韩精品视频在线观看免费| 国内成人精品视频| xvideos亚洲人网站| 亚洲欧美日韩精品久久亚洲区| 91av在线不卡| 精品日本高清在线播放| 亚洲欧美日韩第一区| 亚洲97在线观看| 日韩精品视频免费专区在线播放| 久久综合国产精品台湾中文娱乐网| 国产精品久久久久7777婷婷| 日韩在线中文视频| 亚洲天天在线日亚洲洲精| 色琪琪综合男人的天堂aⅴ视频| 久久久久免费视频| 97视频在线观看免费高清完整版在线观看| 国产日韩精品电影| 日韩一中文字幕| 成人97在线观看视频| 日韩av电影在线免费播放| 青青久久aⅴ北条麻妃| 国产综合在线看| 欧美黄色小视频| 亚洲aaaaaa| 97视频在线观看网址| 久久久av一区| 欧美视频中文字幕在线| 欧美一区二区影院| 91久久久久久久久| 国产精品久久97| 亚洲精品久久久久久久久久久| 欧美激情一区二区三区久久久| 亚洲三级 欧美三级| 91在线视频成人| 国产成人精品视频在线观看| 欧美精品免费在线观看| 日韩精品免费综合视频在线播放| 国产视频一区在线| 国产精品久久久久国产a级| 97在线观看视频| 日韩激情av在线播放| 亚洲va欧美va国产综合久久| 国内精品免费午夜毛片| 欧美另类极品videosbestfree| 久久伊人精品视频| 久久久久久香蕉网| 欧美激情精品久久久久久变态| 性欧美视频videos6一9| 狠狠色狠色综合曰曰| 精品国产户外野外| 欧美一区二区色| 黄色成人在线免费| 97在线观看视频国产| 91精品在线一区| 亚洲国产精品成人精品| 亚洲小视频在线| 国产xxx69麻豆国语对白| 欧美激情日韩图片| 精品国产91乱高清在线观看| 亚洲免费视频观看| 91成人福利在线| 久久亚洲一区二区三区四区五区高| 精品国产乱码久久久久久虫虫漫画| 色七七影院综合| 日韩精品视频免费在线观看| 亚洲高清免费观看高清完整版| 中文字幕日韩在线播放| 在线观看国产精品91| 欧美另类在线观看| 亚洲成人教育av| 91中文在线视频| 欧美日韩一区二区三区在线免费观看| 中文字幕亚洲天堂| 欧美www在线| 国产精品揄拍500视频| 美日韩丰满少妇在线观看| 精品亚洲一区二区三区在线播放| 91夜夜揉人人捏人人添红杏| 亚洲男人天堂手机在线| 在线国产精品播放| 久久久久久亚洲| 成人午夜激情免费视频| 亚洲在线一区二区| 久久国产精品久久精品| 久久91超碰青草是什么| 亚洲综合中文字幕在线观看| 日韩精品免费在线播放| 最近2019中文字幕大全第二页| 亚洲第一精品夜夜躁人人爽| 亚洲自拍在线观看|