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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

jdk11 jdk12_JDK 12附带紧凑数字格式

發布時間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jdk11 jdk12_JDK 12附带紧凑数字格式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jdk11 jdk12

JDK 12 Early Access Build 24引入了對緊湊數字格式的支持 。 JDK-8188147(緊湊數字格式支持)CSR的“摘要”是簡單的句子,“添加了對JDK中的緊湊/短數字格式的支持。” 同一CSR還提供了詳細的“解決方案”部分,該部分提供了為每個語言環境以多種緊湊形式提供數字以及添加到JDK以支持該功能(新類,新枚舉,新方法等)的構造/ API的背景。

每個語言環境中數字的緊湊和簡短格式的表示均基于Unicode公共語言環境數據存儲庫(CLDR) 。 新添加的類java.text.CompactNumberFormat具有類級別的Javadoc注釋 ,這些注釋提供了大量有關如何以“短”和“長”緊湊型數字格式表示數字的詳細信息。 該類的Javadoc注釋還指定了與自定義數字格式相關的緊湊數字模式,格式,解析和舍入(默認情況下為RoundingMode.HALF_EVEN )。

Nishit Jain在要求審查對JDK 12添加緊湊數字格式的請求中寫道:

現有的NumberFormat API為格式化和解析數字提供基于語言環境的支持,其中包括格式化小數,百分數,貨幣等,但是缺少將數字格式化為人類可讀或緊湊形式的支持。 此RFE添加了該功能,以緊湊格式格式化十進制數(例如,在en_US語言環境中為1000-> 1K,1000000-> 1M),這對于顯示空間有限的環境很有用,因此可以顯示格式化的字符串在那個有限的空間里。 它是由LDML的緊湊數字格式規范定義的。

http://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats

通過代碼示例來了解緊湊的數字格式可能是最容易的。 以下類( CompactNumberFormatDemo )是針對JDK 12 Early Access Build 24編譯和執行的。

package dustin.examples.jdk12.format; import static java.lang.System.out; import java.text.NumberFormat; import java.util.Locale; /** * Demonstrate Compact Number Format support added to * JDK 12 as of Early Access Build 24 (see also * JDK-8177552: Compact Number Formatting support). */ public class CompactNumberFormatDemo { private static void demonstrateCompactNumberFormatting(final long numberToFormat) { final NumberFormat numberFormatDefault = NumberFormat.getCompactNumberInstance(); final NumberFormat numberFormatUsLong = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.LONG); final NumberFormat numberFormatUkShort = NumberFormat.getCompactNumberInstance(Locale.UK, NumberFormat.Style.SHORT); final NumberFormat numberFormatUkLong = NumberFormat.getCompactNumberInstance(Locale.UK, NumberFormat.Style.LONG); final NumberFormat numberFormatFrShort = NumberFormat.getCompactNumberInstance(Locale.FRANCE, NumberFormat.Style.SHORT); final NumberFormat numberFormatFrLong = NumberFormat.getCompactNumberInstance(Locale.FRANCE, NumberFormat.Style.LONG); final NumberFormat numberFormatGrShort = NumberFormat.getCompactNumberInstance(Locale.GERMANY, NumberFormat.Style.SHORT); final NumberFormat numberFormatGrLong = NumberFormat.getCompactNumberInstance(Locale.GERMANY, NumberFormat.Style.LONG); final NumberFormat numberFormatItShort = NumberFormat.getCompactNumberInstance(Locale.ITALY, NumberFormat.Style.SHORT); final NumberFormat numberFormatItLong = NumberFormat.getCompactNumberInstance(Locale.ITALY, NumberFormat.Style.LONG); out.println("Demonstrating Compact Number Formatting on '" + numberToFormat + "':"); out.println("\tDefault: " + numberFormatDefault.format(numberToFormat)); out.println("\tUS/Long: " + numberFormatUsLong.format(numberToFormat)); out.println("\tUK/Short: " + numberFormatUkShort.format(numberToFormat)); out.println("\tUK/Long: " + numberFormatUkLong.format(numberToFormat)); out.println("\tFR/Short: " + numberFormatFrShort.format(numberToFormat)); out.println("\tFR/Long: " + numberFormatFrLong.format(numberToFormat)); out.println("\tGR/Short: " + numberFormatGrShort.format(numberToFormat)); out.println("\tGR/Long: " + numberFormatGrLong.format(numberToFormat)); out.println("\tIT/Short: " + numberFormatItShort.format(numberToFormat)); out.println("\tIT/Long: " + numberFormatItLong.format(numberToFormat)); } /** * Main demonstration executable. * @param arguments Command-line arguments: none expected. */ public static void main(final String[] arguments) { demonstrateCompactNumberFormatting(15); demonstrateCompactNumberFormatting(150); demonstrateCompactNumberFormatting(1500); demonstrateCompactNumberFormatting(15000); demonstrateCompactNumberFormatting(150000); demonstrateCompactNumberFormatting(1500000); demonstrateCompactNumberFormatting(15000000); } }

執行后,以上代碼將以下內容寫入標準輸出:

Demonstrating Compact Number Formatting on '15':Default: 15US/Long: 15UK/Short: 15UK/Long: 15FR/Short: 15FR/Long: 15GR/Short: 15GR/Long: 15IT/Short: 15IT/Long: 15 Demonstrating Compact Number Formatting on '150':Default: 150US/Long: 150UK/Short: 150UK/Long: 150FR/Short: 150FR/Long: 150GR/Short: 150GR/Long: 150IT/Short: 150IT/Long: 150 Demonstrating Compact Number Formatting on '1500':Default: 2KUS/Long: 2 thousandUK/Short: 2KUK/Long: 2 thousandFR/Short: 2 kFR/Long: 2 millierGR/Short: 1.500GR/Long: 2 TausendIT/Short: 1.500IT/Long: 2 mille Demonstrating Compact Number Formatting on '15000':Default: 15KUS/Long: 15 thousandUK/Short: 15KUK/Long: 15 thousandFR/Short: 15 kFR/Long: 15 milleGR/Short: 15.000GR/Long: 15 TausendIT/Short: 15.000IT/Long: 15 mila Demonstrating Compact Number Formatting on '150000':Default: 150KUS/Long: 150 thousandUK/Short: 150KUK/Long: 150 thousandFR/Short: 150 kFR/Long: 150 milleGR/Short: 150.000GR/Long: 150 TausendIT/Short: 150.000IT/Long: 150 mila Demonstrating Compact Number Formatting on '1500000':Default: 2MUS/Long: 2 millionUK/Short: 2MUK/Long: 2 millionFR/Short: 2 MFR/Long: 2 millionGR/Short: 2 Mio.GR/Long: 2 MillionIT/Short: 2 MlnIT/Long: 2 milione Demonstrating Compact Number Formatting on '15000000':Default: 15MUS/Long: 15 millionUK/Short: 15MUK/Long: 15 millionFR/Short: 15 MFR/Long: 15 millionGR/Short: 15 Mio.GR/Long: 15 MillionenIT/Short: 15 MlnIT/Long: 15 milioni

通過Early Access Build 24添加到JDK 12的緊湊數字格式支持允許格式化和解析以語言環境特定的“長”或“短”緊湊形式的數字表示形式。

翻譯自: https://www.javacodegeeks.com/2019/01/compact-number-formatting-comes-jdk-12.html

jdk11 jdk12

總結

以上是生活随笔為你收集整理的jdk11 jdk12_JDK 12附带紧凑数字格式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。