生活随笔
收集整理的這篇文章主要介紹了
NumberFormat的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- NumberFormat簡介
NumberFormat 是所有數值格式的抽象基類。此類提供格式化和解析數值的接口。
可用于格式化和解析任何語言環境的數值。使代碼能夠完全獨立于小數點、千位分隔符甚至所用特定小數位數的語言環境約定,并與數值格式是否為偶小數無關。
使用 getInstance 或 getNumberInstance 來獲取常規數值格式。
使用 getIntegerInstance 來獲取整數數值格式。
使用 getCurrencyInstance 來獲取貨幣數值格式。
使用 getPercentInstance 來獲取顯示百分比的格式。使用此格式,小數 0.53 將顯示為 53%。
使用 setMinimumFractionDigits 之類的方法還可以控制數值的顯示。
如果想對格式化和解析進行更多的控制(或者給予用戶更多的控制),可以嘗試將從工廠方法獲取的 NumberFormat 強制轉換為 DecimalFormat。這適用于大多數語言環境;只是要記住將其放入一個 try 代碼塊中,以防遇到特殊情況。 - getInstance
getNumberInstance的結果一致
package com
.text
;import java
.text
.NumberFormat
;
import java
.text
.ParseException
;
import java
.text
.ParsePosition
;
import java
.util
.Locale
;public class NumberFormatTest {public static void main(String
[] args
) throws ParseException
{NumberFormat numberFormat
= NumberFormat
.getInstance(Locale
.getDefault());System
.out
.println(numberFormat
.format(Integer
.valueOf(12345)));System
.out
.println(numberFormat
.format(Long
.valueOf(-34567L
)));System
.out
.println(numberFormat
.format(Float
.valueOf(12345.5234f)));System
.out
.println(numberFormat
.format(Double
.valueOf(-12345.4235)));}
}
輸出結果:
12,345
-34,567
12,345.523
-12,345.424
- getIntegerInstance
只保留整數部分
package common
.number
;import java
.math
.RoundingMode
;
import java
.text
.NumberFormat
;public class SaveInteger {public static void main(String
[] args
) {NumberFormat integerInstance
= NumberFormat
.getIntegerInstance();integerInstance
.setMaximumIntegerDigits(2);integerInstance
.setRoundingMode(RoundingMode
.HALF_UP
);System
.out
.print(integerInstance
.format(1));System
.out
.print("\t"+integerInstance
.format(123));System
.out
.print("\t"+integerInstance
.format(12));System
.out
.print("\t"+integerInstance
.format(12.34));System
.out
.print("\t"+integerInstance
.format(12.5));System
.out
.print("\t"+integerInstance
.format(-12.5));System
.out
.print("\t"+integerInstance
.format(-12.3));}}
打印結果:
1
23
12
12
13
-13
-12
package com
.text
;import java
.text
.NumberFormat
;
import java
.text
.ParseException
;
import java
.text
.ParsePosition
;
import java
.util
.Locale
;public class NumberFormatTest {public static void main(String
[] args
) throws ParseException
{NumberFormat numberFormat
= NumberFormat
.getCurrencyInstance(Locale
.getDefault());System
.out
.println(numberFormat
.format(Integer
.valueOf(12345)));System
.out
.println(numberFormat
.format(Long
.valueOf(34567L
)));System
.out
.println(numberFormat
.format(Double
.valueOf(12345.4567)));}
}
輸出結果:
¥12,345.00
¥34,567.00
¥12,345.46
package common
.number
;import java
.text
.NumberFormat
;
import java
.text
.ParseException
;public class PercentNumber {public static void main(String
[] args
) throws ParseException
{NumberFormat percentInstance
= NumberFormat
.getPercentInstance();percentInstance
.setMaximumFractionDigits(2);System
.out
.println(percentInstance
.format(1));System
.out
.println(percentInstance
.format(1.2));System
.out
.println(percentInstance
.format(.1));System
.out
.println(percentInstance
.format(0.12));System
.out
.println(percentInstance
.format(-0.12345));System
.out
.println(percentInstance
.format(0.2155));}}
輸出結果:
100%
120%
10%
12%
-12.35%
21.55%
總結
以上是生活随笔為你收集整理的NumberFormat的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。