国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - DecimalFormat多種用法詳解

DecimalFormat多種用法詳解

2021-04-09 11:00JAVA_96 Java教程

這篇文章主要為大家詳細介紹了DecimalFormat的多種用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

NumberFormat.getInstance()方法返回NumberFormat的一個實例(實際上是NumberFormat具體的一個子類,例如DecimalFormat), 這適合根據本地設置格式化一個數字。你也可以使用非缺省的地區設置,例如德國。然后格式化方法根據特定的地區規則格式化數字。這個程序也可以使用一個簡單的形式:

?
1
NumberFormat.getInstance().format(1234.56)

但是保存一個格式然后重用更加有效。國際化是格式化數字時的一個大問題。
另一個是對格式的有效控制,例如指定小數部分的位數,下面是解決這個問題的一個簡單例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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

相似的,也可以控制指數形式的格式,例如:

?
1
2
3
4
5
6
7
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

對于百分數:

?
1
2
3
4
5
6
7
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中。例如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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 常用于指定不同于本地的地區。如何結合兩個類呢?

答案圍繞著這樣的事實:DecimalFormat是NumberFormat的一個子類,其實例被指定為特定的地區。因此,你可以使用NumberFormat.getInstance 指定一個地區,然后將結構強制轉換為一個DecimalFormat對象。文檔中提到這個技術可以在大多情況下適用,但是你需要用try/catch 塊包圍強制轉換以防轉換不能正常工作 (大概在非常不明顯得情況下使用一個奇異的地區)。下面是一個這樣的例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 。

其中v 為未處理的double,scale為需求精度,返回需要小數位數的double

?
1
2
3
4
5
6
7
8
9
public static double round(double v,int scale){
  if(scale<0){
   throw new IllegalArgumentException(
    "The scale must be a positive integer or zero");
  }
  BigDecimal b = new BigDecimal(Double.toString(v));
  BigDecimal one = new BigDecimal("1");
  return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
 }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/JAVA_96/article/details/53556465

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 视频一区二区三区免费观看 | 99综合在线| 伊人天天 | 日本精品在线播放 | 国产人妖在线 | 免费一级 国产 | 可以看av的网站 | 日韩三级| 美女午夜影院 | 久热久热 | 精品视频网 | 日韩成人综合 | 欧美成人高清 | 黄色毛片看看 | 中文字幕亚洲欧美日韩在线不卡 | 久久精品一级 | 国产激情精品一区二区三区 | 最好观看的2018中文 | 午夜影院免费 | av在线电影网 | 午夜国产视频 | 亚洲精品电影在线观看 | 亚洲一区二区三区在线播放 | 亚洲国产欧美一区二区三区丁香婷 | 欧美一级二级视频 | 久久免费公开视频 | 在线观看黄色 | 91免费在线视频 | 男人天堂社区 | 亚洲天堂一区二区 | www.久久视频| 狠久久 | 亚洲高清www| 99精品欧美一区二区三区综合在线 | 天堂av中文字幕 | www.99| 精品久久久久久国产 | 夜夜夜夜夜操 | 日韩免费 | 国产精品一区久久久 | 日本免费视频 |