丽水网站推广公司,塘厦网站建设公司,百度提交网站收录查询,wordpress主题 cosyJDK 12 Early Access Build 24引入了对紧凑数字格式的支持 。 JDK-8188147#xff08;紧凑数字格式支持#xff09;CSR的“摘要”是简单的句子#xff0c;“添加了对JDK中紧凑/短数字格式的支持。” 相同的CSR还提供了详细的“解决方案”部分#xff0c;该背景提供了为每个… 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- 1K1000000- 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