生活随笔
收集整理的這篇文章主要介紹了
NumberFormat的使用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- NumberFormat簡(jiǎn)介
NumberFormat 是所有數(shù)值格式的抽象基類。此類提供格式化和解析數(shù)值的接口。
可用于格式化和解析任何語(yǔ)言環(huán)境的數(shù)值。使代碼能夠完全獨(dú)立于小數(shù)點(diǎn)、千位分隔符甚至所用特定小數(shù)位數(shù)的語(yǔ)言環(huán)境約定,并與數(shù)值格式是否為偶小數(shù)無(wú)關(guān)。
使用 getInstance 或 getNumberInstance 來(lái)獲取常規(guī)數(shù)值格式。
使用 getIntegerInstance 來(lái)獲取整數(shù)數(shù)值格式。
使用 getCurrencyInstance 來(lái)獲取貨幣數(shù)值格式。
使用 getPercentInstance 來(lái)獲取顯示百分比的格式。使用此格式,小數(shù) 0.53 將顯示為 53%。
使用 setMinimumFractionDigits 之類的方法還可以控制數(shù)值的顯示。
如果想對(duì)格式化和解析進(jìn)行更多的控制(或者給予用戶更多的控制),可以嘗試將從工廠方法獲取的 NumberFormat 強(qiáng)制轉(zhuǎn)換為 DecimalFormat。這適用于大多數(shù)語(yǔ)言環(huán)境;只是要記住將其放入一個(gè) try 代碼塊中,以防遇到特殊情況。 - getInstance
getNumberInstance的結(jié)果一致
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)));}
}
輸出結(jié)果:
12,345
-34,567
12,345.523
-12,345.424
- getIntegerInstance
只保留整數(shù)部分
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));}}
打印結(jié)果:
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)));}
}
輸出結(jié)果:
¥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));}}
輸出結(jié)果:
100%
120%
10%
12%
-12.35%
21.55%
總結(jié)
以上是生活随笔為你收集整理的NumberFormat的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。