电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

JDK12的新特性之CompactNumberFormat詳解

瀏覽:163日期:2024-07-21 11:15:11

簡介

JDK12引入了新的格式化數字的類叫做CompactNumberFormat。主要方便我們對很長的數字進行簡寫。比如1000可以簡寫為1K或者1 thousand。

本文將會講解CompactNumberFormat的基本構成和使用方法,最后在實際的例子中結束文章的講解。

更多內容請訪問www.flydean.com

CompactNumberFormat詳解

CompactNumberFormat做為格式化數字的一部分是NumberFormat的子類。作用就是將數字進行格式化。要想構建一個CompactNumberFormat,最簡單的辦法就是使用NumberFormat.getCompactNumberInstance方法了。

下面是該方法的定義:

public static NumberFormat getCompactNumberInstance(Locale locale, NumberFormat.Style formatStyle)

方法需要傳入兩個參數:Locale和Style。

Locale

Locale代表著本地語言特性,比如在US locale中,10000可以表示為“10K”,而在China locale中,10000中就變成了“1萬”。

Style

Style有兩種類型,short和long。比如說10000的short表示是“10K”,而它的long表示是“10 thousand”。

JDK已經為我們自定義了很多種內置的Compact實現,我們可以直接使用:

@Test public void testCompactNumberFormat(){ NumberFormat fmtShort = NumberFormat.getCompactNumberInstance( Locale.US, NumberFormat.Style.SHORT); NumberFormat fmtLong = NumberFormat.getCompactNumberInstance( Locale.US, NumberFormat.Style.LONG); log.info(fmtShort.format(312)); log.info(fmtShort.format(3123)); log.info(fmtShort.format(31234)); log.info(fmtLong.format(312)); log.info(fmtLong.format(3123)); log.info(fmtLong.format(31234)); }

輸出結果:

312 3K 31K 312 3 thousand 31 thousand

自定義CompactNumberFormat

除了使用NumberFormat工具類之外,我們還可以自定義CompactNumberFormat。

先看下CompactNumberFormat的定義:

public CompactNumberFormat(String decimalPattern,DecimalFormatSymbols symbols, String[] compactPatterns)public CompactNumberFormat(String decimalPattern,DecimalFormatSymbols symbols, String[] compactPatterns,String pluralRules)

CompactNumberFormat可以接受3個或者4個參數的構造函數。

其中decimalPattern和symbols是用來正常解析數字的,compactPatterns則是用來生成縮寫。pluralRules表示的是復數規(guī)則。

@Test public void useCustom(){ String[] compactPatterns = {'', '', '', '0千', '0萬', '00萬', '0百萬', '0千萬', '0億', '00億', '0百億', '0千億', '0兆', '00兆', '000兆'}; DecimalFormat decimalFormat = (DecimalFormat) NumberFormat.getNumberInstance(Locale.CHINA); CompactNumberFormat format = new CompactNumberFormat( decimalFormat.toPattern(), decimalFormat.getDecimalFormatSymbols(), compactPatterns); log.info(format.format(312340000)); }

上面是一個我們自定義的縮寫規(guī)則。

輸出結果:

3億

解析CompactNumber

能生成自然也能夠解析,我們看一個解析的例子:

@Test public void testParse() throws ParseException { NumberFormat fmtLong = NumberFormat.getCompactNumberInstance( Locale.US, NumberFormat.Style.LONG); log.info(String.valueOf(fmtLong.parse('3 thousand'))); }

輸出結果:

3000

總結

本文介紹了JDK12中引入的新的CompactNumberFormat類,希望大家能夠喜歡。

本文的例子

[https://github.com/ddean2009/ learn-java-base-9-to-20](https://github.com/ddean2009/learn-java-base-9-to-20)

到此這篇關于JDK12的新特性:CompactNumberFormat的文章就介紹到這了,更多相關JDK12的新特性:CompactNumberFormat內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JDK12
主站蜘蛛池模板: 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 耐驰泵阀管件制造-耐驰泵阀科技(天津)有限公司 | 电梯装饰-北京万达中意电梯装饰有限公司 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 青岛代理记账_青岛李沧代理记账公司_青岛崂山代理记账一个月多少钱_青岛德辉财税事务所官网 | IWIS链条代理-ALPS耦合透镜-硅烷预处理剂-上海顶楚电子有限公司 lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 专业甜品培训学校_广东糖水培训_奶茶培训_特色小吃培训_广州烘趣甜品培训机构 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 搪玻璃冷凝器_厂家-越宏化工设备 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 选矿设备,选矿生产线,选矿工艺,选矿技术-昆明昆重矿山机械 | 房屋质量检测-厂房抗震鉴定-玻璃幕墙检测-房屋安全鉴定机构 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 华夏医界网_民营医疗产业信息平台_民营医院营销管理培训 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 地磅-地秤-江阴/无锡地磅-江阴天亿计量设备有限公司_ | 广州网站建设_小程序开发_番禺网站建设_佛山网站建设_粤联网络 | 便携式高压氧舱-微压氧舱-核生化洗消系统-公众洗消站-洗消帐篷-北京利盟救援 | 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 上海租奔驰_上海租商务车_上海租车网-矢昂汽车服务公司 | 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | app开发|app开发公司|小程序开发|物联网开发||北京网站制作|--前潮网络 | 百方网-百方电气网,电工电气行业专业的B2B电子商务平台 | 东莞螺丝|东莞螺丝厂|东莞不锈钢螺丝|东莞组合螺丝|东莞精密螺丝厂家-东莞利浩五金专业紧固件厂家 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 10吨无线拉力计-2吨拉力计价格-上海佳宜电子科技有限公司 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 钢骨架轻型板_膨石轻型板_钢骨架轻型板价格_恒道新材料 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | cnc精密加工_数控机械加工_非标平键定制生产厂家_扬州沃佳机械有限公司 | 合肥办公室装修 - 合肥工装公司 - 天思装饰 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 振动传感器,检波器-威海广达勘探仪器有限公司| 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 伶俐嫂培训学校_月嫂培训班在哪里报名学费是多少_月嫂免费政府培训中心推荐 |