日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NumberFormat类

發(fā)布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NumberFormat类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

二、NumberFormat子類:

NumberFormat是所有數(shù)字格式的抽象基類。此類提供格式化和解析數(shù)字的接口,提供了確定哪些語言環(huán)境具有數(shù)字格式以及它們的名稱是什么的方法,提供了格式化和解析任何區(qū)域設置的數(shù)字。程序代碼可以完全獨立于小數(shù)點,千位分隔符的區(qū)域設置約定,甚至是使用的特定十進制數(shù)字,或者數(shù)字格式是否為十進制。NumberFormat類中最重要的兩個方法是format和parse,簡單來說format(是將數(shù)字Number類的對象轉(zhuǎn)化為用戶所能看懂的字符串形式如貨幣¥100 )parse(是將用戶所能看懂的字符串形式的數(shù)字/貨幣/百分比轉(zhuǎn)化為數(shù)字Number類)

format(Object number, StringBuffer toAppendTo, FieldPosition pos)格式化數(shù)字并將結(jié)果文本附加到給定的字符串緩沖區(qū)。 format(long number, StringBuffer toAppendTo, FieldPosition pos)格式化long型數(shù)字生成字符串 format(double number, StringBuffer toAppendTo, FieldPosition pos)格式化double型數(shù)字生成字符串 format(double number) format(long number) //number - 要格式化的數(shù)字。 //toAppendTo - StringBuffer要附加格式化文本的內(nèi)容 //pos - 輸入時:如果需要,可以使用對齊字段。輸出時:對齊字段的偏移量。 parseObject(String source, ParsePosition pos)解析字符串中的文本以生成一個Number。 parse(String source)解析字符串中的文本以生成數(shù)字 parse(String source, ParsePosition pos)如果可能,返回Long,否則返回Double。如果設置了IntegerOnly,將停止在小數(shù)點 //source - 要解析的數(shù)字字符串,其中一部分應該被解析。 //pos - ParsePosition具有索引和錯誤索引信息的對象.輸入時,開始解析的位置; on output,解析終止的位置,或解析失敗時的起始位置。

常用的靜態(tài)工廠方法:

(1)getInstance()方法,返回默認語言環(huán)境下的通用數(shù)字格式

? ? ? ? ??getInstance(Locale inlocale)方法,返回指定語言環(huán)境下的通用數(shù)字格式

(2)getNumberInstance()方法,返回默認語言環(huán)境下的通用數(shù)字格式

? ? ? ? ??getNumberInstance(Locale inlocale)方法,返回指定語言環(huán)境下的通用數(shù)字格式

(3)getIntegerInstance()方法,返回默認語言環(huán)境下的整數(shù)格式,若為小數(shù),則四舍五入

? ? ? ? ??getIntegerInstance(Locale inlocale)方法,返回指定語言環(huán)境下的整數(shù)格式,若為小數(shù),則四舍五入

(4)getCurrencyInstance()方法,返回默認語言環(huán)境下的貨幣格式

? ? ? ? ??getCurrencyInstance(Locale inlocale)方法,返回指定語言環(huán)境下的貨幣格式

(5)getPercentInstance()方法,返回默認語言環(huán)境下的百分比的數(shù)值格式

? ? ? ? ??getPercentInstance(Locale inlocale)方法,返回指定語言環(huán)境下的百分比的數(shù)值格式

(6)getMaxinumIntegerDigits()方法,返回數(shù)字整數(shù)部分允許的最大位數(shù)

? ? ? ? ??setMaxinumIntegerDigits(int newValue)方法,設置數(shù)字整數(shù)部分允許的最大位數(shù)

(7)getMininumIntegerDigits()方法,返回數(shù)字整數(shù)部分允許的最小位數(shù)

? ?setMininumIntegerDigits(int newValue)方法,設置數(shù)字整數(shù)部分允許的最小位數(shù)?

(8)getMaxinumFractionDigits()方法,返回數(shù)字小數(shù)部分允許的最大位數(shù)

? ?setMaxinumFractionDigits(int newValue)方法,設置數(shù)字小數(shù)部分允許的最大位數(shù)

(9)getMininumFractionDigits()方法,返回數(shù)字小數(shù)部分允許的最小位數(shù)

? ?setMininumFractionDigits(int newValue)方法,設置數(shù)字小數(shù)部分允許的最小位數(shù)

更多詳細方法可以參照https://docs.oracle.com/javase/6/docs/api/java/text/NumberFormat.html

實例:(一般通過get...創(chuàng)建對象)

package codeNumberFormat; import java.text.*; import java.util.*; public class ceshi {public static void main(String[] args)throws Exception {// TODO Auto-generated method stubdouble num=120.8;NumberFormat dou=NumberFormat.getIntegerInstance();System.out.println(dou.format(num));int price = 100;NumberFormat currency = NumberFormat.getCurrencyInstance(Locale.CHINA);System.out.println(currency.format(price));currency = NumberFormat.getCurrencyInstance(Locale.US);System.out.println(currency.format(price));try {String str = "$52.00";//注意這里只能用$因為前面最后一次將currency設置為了US的語言環(huán)境Number n = currency.parse(str);System.out.println(n);//若要輸出double格式,則System.out.println(n.doubleValue());}catch (ParseException e) { System.out.println(e.getMessage()); } double d = 0.72;currency = NumberFormat.getPercentInstance();System.out.println(currency.format(d));//50%}} 運行結(jié)果: 121 ¥100.00 $100.00 52 72%

另外介紹一下NumbrFormat的兩個子類ChoiceFormat類和DecimalFormat類

ChoiceFormat類

DecimalFormat類

?

總結(jié)

以上是生活随笔為你收集整理的NumberFormat类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。