精简jdk包_在JDK 12精简数字格式中使用最小分数数字

精简jdk包

帖子“ 紧凑数字格式出现在JDK 12中 ”演示了对JDK 12中 NumberFormat的支持,以支持紧凑数字格式 。 该帖子中显示的示例仅使用NumberFormat的实例,这些实例是通过调用NumberFormat的新重载getCompactNumberInstance(-)方法返回的,因此没有指定诸如最小小数位和最大小数位之类的特性 。 在某些情况下,结果不理想。 幸运的是, NumberFormat确实允许指定最小和最大小数位,并且本文演示了如何改善JDK 12提供的紧凑数字格式的输出。

原始“ 紧凑型数字格式来到JDK 12 ”一文( 可在GitHub上找到 )中介绍的代码清单已更新,以演示NumberFormat.setMinimumFractionDigits(int)的使用 。 接下来是该代码的摘录,然后是随附的输出。

/*** Generates standardized map of labels to Compact Number Format* instances described by the labels. The instances of {@code NumberFormat}* are created with Locale and Style only and with the provided number* of minimum fractional digits.** @return Mapping of label to an instance of a Compact Number Format*    consisting of a Locale, Style, and specified minimum number of fractional*    digits that is described by the label.*/
private static Map<String, NumberFormat> generateCompactNumberFormats(final int minimumNumberFractionDigits)
{var numberFormats = generateCompactNumberFormats();numberFormats.forEach((label, numberFormat) ->numberFormat.setMinimumFractionDigits(minimumNumberFractionDigits));return numberFormats;
}/*** Demonstrates compact number formatting in a variety of locales* and number formats against the provided {@code long} value and* with a minimum fractional digits of 1 specified.* @param numberToFormat Value of type {@code long} that is to be*    formatted using compact number formatting and a variety of*    locales and number formats and with a single minimal fractional*    digit.*/
private static void demonstrateCompactNumberFormattingOneFractionalDigitMinimum(final long numberToFormat)
{final Map<String, NumberFormat> numberFormats = generateCompactNumberFormats(1);out.println("Demonstrating Compact Number Formatting on long '" + numberToFormat+ "' with 1 minimum fraction digit:");numberFormats.forEach((label, numberFormat) ->out.println("\t" +  label + ": " + numberFormat.format(numberToFormat)));
}
Demonstrating Compact Number Formatting on long '15' with 1 minimum fraction digit:Default: 15US/Long: 15UK/Short: 15UK/Long: 15FR/Short: 15FR/Long: 15DE/Short: 15DE/Long: 15IT/Short: 15IT/Long: 15
Demonstrating Compact Number Formatting on long '150' with 1 minimum fraction digit:Default: 150US/Long: 150UK/Short: 150UK/Long: 150FR/Short: 150FR/Long: 150DE/Short: 150DE/Long: 150IT/Short: 150IT/Long: 150
Demonstrating Compact Number Formatting on long '1500' with 1 minimum fraction digit:Default: 1.5KUS/Long: 1.5 thousandUK/Short: 1.5KUK/Long: 1.5 thousandFR/Short: 1,5 kFR/Long: 1,5 millierDE/Short: 1.500DE/Long: 1,5 TausendIT/Short: 1.500IT/Long: 1,5 mille
Demonstrating Compact Number Formatting on long '15000' with 1 minimum fraction digit:Default: 15.0KUS/Long: 15.0 thousandUK/Short: 15.0KUK/Long: 15.0 thousandFR/Short: 15,0 kFR/Long: 15,0 milleDE/Short: 15.000DE/Long: 15,0 TausendIT/Short: 15.000IT/Long: 15,0 mila
Demonstrating Compact Number Formatting on long '150000' with 1 minimum fraction digit:Default: 150.0KUS/Long: 150.0 thousandUK/Short: 150.0KUK/Long: 150.0 thousandFR/Short: 150,0 kFR/Long: 150,0 milleDE/Short: 150.000DE/Long: 150,0 TausendIT/Short: 150.000IT/Long: 150,0 mila
Demonstrating Compact Number Formatting on long '1500000' with 1 minimum fraction digit:Default: 1.5MUS/Long: 1.5 millionUK/Short: 1.5MUK/Long: 1.5 millionFR/Short: 1,5 MFR/Long: 1,5 millionDE/Short: 1,5 Mio.DE/Long: 1,5 MillionIT/Short: 1,5 MlnIT/Long: 1,5 milione
Demonstrating Compact Number Formatting on long '15000000' with 1 minimum fraction digit:Default: 15.0MUS/Long: 15.0 millionUK/Short: 15.0MUK/Long: 15.0 millionFR/Short: 15,0 MFR/Long: 15,0 millionDE/Short: 15,0 Mio.DE/Long: 15,0 MillionenIT/Short: 15,0 MlnIT/Long: 15,0 milioni

如上面的示例和输出所示,使用NumberFormat.setMinimumFractionDigits(int)可以生成紧凑的数字格式输出,在许多情况下,从美学角度来看,这种输出可能会更令人满意。 OpenJDK core-libs-dev邮件列表上最近有一个讨论“ 紧凑数字格式和小数位数 ”,该讨论还讨论了自定义紧凑数字格式输出的功能。

翻译自: https://www.javacodegeeks.com/2019/01/usingfractional-digits-compact-number.html

精简jdk包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql insert limit_Mysql Limit 调优

建表与插入数据SQL对比基本数据创建表CREATE TABLE student(id int(10) NOT NULL AUTO_INCREMENT,name varchar(25) DEFAULT NULL,age tinyint(2) DEFAULT NULL,live varchar(255) DEFAULT NULL,PRIMARY KEY (id)) ;批量插入1百万条数据DROP PROCEDURE IF EXISTS insert_Stu;DE…

预防近视的方法

推荐的方法里面有角膜塑形镜&#xff0c;也就是OK镜&#xff0c;还有低浓度阿托品、补光仪、离焦软镜、离焦框架眼镜等&#xff0c;阿托品离焦眼镜

spoon java_如何以及为什么使用Spoon分析,生成和转换Java代码

spoon javaSpoon是分析&#xff0c;生成和转换Java代码的工具。 在本文中&#xff0c;我们将看到通过使用以编程方式处理代码的技术可以实现什么。 我认为这些技术不是很为人所知或使用&#xff0c;这很遗憾&#xff0c;因为它们可能非常有用。 谁知道&#xff0c;即使您不想使…

下列支持mysql中文字符_MySQL中文支持问题

0. 本文目的让MySQL支持中文1. 测试环境Windows XP sp2&#xff0c;MySQL Server 5.1&#xff0c;MySQL Administrator 1.2.172. 操作步骤1)修改数据库的默认字符集(开始菜单) - MySQL - MySQL Server 5.1 - MySQL Server Instance Config Wizard&#xff1a;- Reconfigure Ins…

异常(Exception)的学习

1.Throwsable 的两个子类 Exception 和 Error 2.Exception 这是编译期异常&#xff0c;可以捕获处理 3.RuntimeException 表示运行期间的异常&#xff0c;它是 Exception 的子类 4.Error 这是程序错误&#xff0c;不可捕获处理。例如&#xff0c;内存溢出 5.throws 关键字&…

recorder_将Java Flight Recorder与OpenJDK 11一起使用

recorderJava Flight Recorder&#xff08;JFR&#xff09;曾经是Oracle JDK的商业附加组件。 由于它最近与Java Mission Control一起开源&#xff0c;因此使用OpenJDK 11的每个人现在都可以免费使用此出色的工具对Java应用程序进行故障排除。 JFR以前是专有解决方案&#xff0…

mysql 酒店管理设计_酒店管理系统的设计与实现(Myeclipse,MySQL)

酒店管理系统的设计与实现(Myeclipse,MySQL)(任务书,开题报告,中期检查表,文献综述,外文翻译,毕业论文12000字,程序代码,MySQL数据库)本系统是一个酒店管理系统&#xff0c;以Java Web技术为基础&#xff0c;采用MVC设计模式&#xff0c;利用MyEclipse编程平台结合MySQL数据库&…

可以在循环体内声明局部变量吗?

循环体声明的局部变量&#xff0c;第一次创建后&#xff0c;后面每次循环就不会再创建了。因为 JVM 在执行创建局部变量代码时&#xff0c;会先查询是否存在同名的局部变量&#xff0c;若存在则不会创建。如果有赋值&#xff0c;则直接删除旧的数据&#xff0c;保存新的数据&am…

传一个实体一个string_没想到,一个小小的String还有这么多窍门

1. 看看源码大家都知道&#xff0c; String 被声明为 final&#xff0c;因此它不可被继承。(Integer 等包装类也不能被继承&#xff09;。我们先来看看 String 的源码。在 Java 8 中&#xff0c;String 内部使用 char 数组存储数据。在 Java 9 之后&#xff0c;String 类的实现…

envoy api 网关_在边缘,作为网关或在网格中构建控制平面以管理Envoy代理的指南...

envoy api 网关最近&#xff0c; Envoy已成为流行的网络组件。 马特克莱因&#xff08; Matt Klein &#xff09;在几年前写了一个博客&#xff0c;内容涉及Envoy的动态配置API&#xff0c;以及它如何成为Envoy的采用曲线向右移的部分原因。 他称该博客为“通用数据平面API”。…

d3.js和mysql_如何从mysql数据库中提取数据并使用D3.JS进行可视化?

以下是一个php脚本,您应该可以将其保存在某个文件中(假设您称之为“getdata.php”),可以从您的HTML文件中访问,其中包含D3代码.调用时,它将以json格式从MySQL数据库返回数据(只要数据库服务器不在您的域之外);$username "******";$password "******";$ho…

apigee 安装_APIGEE – API网关简介

apigee 安装在本文中&#xff0c;我想简要介绍一下APIGEE。 APIGEE主要提供现成的以下功能作为api网关。 协议转换 与任何协议&#xff08;包括SOAP&#xff0c;REST&#xff0c;XML二进制或自定义&#xff09;进行转换 交通管理 开箱即用的灵活&#xff0c;分布式配额管理…

linux mysql 忘记root密码_Linux MySQL忘记root密码解决方案

在使用MySQL数据库时&#xff0c;由于某些原因长时间没有登陆MySQL&#xff0c;或者由于工作交接完成度不高&#xff0c;导致数据库root登陆密码忘记&#xff0c;如何解决&#xff1f;一、更改my.cnf配置文件1、用命令编辑/etc/my.cnf配置文件&#xff0c;即&#xff1a;vim /e…

Java编程中如何获取项目文件的路径/文件路径

// 获取类加载器 ClassLoader cl JDBCUtils.class.getClassLoader(); // 获取文件的统一资源定位器对象 URL url cl.getResource("db_config.properties"); // 获取文件的路径 String path url.getPath();

inmemory_通过Spring Boot了解H2 InMemory数据库

inmemory介绍 基本上&#xff0c;数据库设置涉及几个步骤&#xff0c;然后才能在应用程序中通过已配置的数据源使用它。 在实际项目实施中&#xff0c;这实际上是必需的。 但是&#xff0c;在某些情况下&#xff0c;我们只需要为某件事完成POC&#xff0c;并且整个数据库设置工…

mysql 查询分组平均数_9、mysql分组查询-----group by 和 having

举例说明&#xff1a;有 Store_Information表之前我们根据这个表&#xff0c;用函数可以算出sales的总和&#xff0c;平均数等如果现在我们需要算出每一间店(store_name)的销售总额(sales)呢&#xff1f;比如&#xff1a;1、los angeles 销售额加起来是 18000san diego…

macOS彻底卸载/删除Microsoft相关的程序

cd /Library/Application\ Support/ # 可以将目录Microsoft整个删除 sudo rm -rf Microsoft # 如果要单独删除微软的自动更新程序&#xff0c;可以进入 cd Microsoft/MAU2.0 # 删除程序文件Microsoft AutoUpdate.app sudo rm -rf Microsoft\ AutoUpdate.app # 进入~/Library/Pr…

java 字符串文字筛选_重新开始Java的原始字符串文字讨论

java 字符串文字筛选在2018年12月宣布 将从JDK 12中删除原始字符串文字 。 现在&#xff0c;在新的一年中&#xff0c;与Java中原始字符串文字的设计有关的讨论又开始了。 在琥珀色专家OpenJDK邮件列表上的“ 原始字符串文字-重新开始讨论 ”一文中 &#xff0c;Brian Goetz参…

mysql event 日志_MySQL Event计划任务刷慢日志

前言最近在尝试一个日志系统graylog来收集mysql的慢查询日志提&#xff0c;供后续的分析、监控和报警等。测试步骤已经到日志已成功收集到graylog&#xff0c;测试时需要刷一些慢查询日志出来。为了刷比较多的日志和不对测试环境造成较大的影响&#xff0c;想到了使用mysql的sl…