Java NumberFormat 教程显示了如何使用 Java 格式化数字。 不同的文化使用不同的方式表示数字。 例如,货币格式化的方式在世界各国中有很大不同。
NumberFormat
NumberFormat
是用于格式化和解析数字的 Java 类。 使用NumberFormat
,我们可以格式化和解析任何语言环境的数字。
NumberFormat
允许我们根据特定的语言环境舍入值,设置小数点分隔符,设置小数位数或格式化值。
创建 Java NumberFormat
NumberFormat
有几种创建数字格式的静态方法。
此getInstance()
方法返回指定语言环境的通用数字格式。
NumberFormat
格式化数字
不同地区的数字格式不同。 例如,某些国家/地区使用点作为小数点分隔符(美国,英国),而其他国家/地区则使用逗号(斯洛伐克,法国)。
FormattingNumbers.java
该示例在三个不同的语言环境中显示一个数字。
这是要格式化的值。
我们为美国语言环境创建一个NumberFormat
。
我们使用format()
方法格式化该值。
在这里,我们格式化斯洛伐克语区域设置的值。
美国,斯洛伐克和丹麦对数字分组和小数点使用不同的字符。
NumberFormat
分组数字
为了便于阅读,可以使用定界符将具有许多数字的数字分为几组。 setGroupingUsed()
设置是否以格式使用分组。
Grouping.java
我们有很多电话。 我们演示了斯洛伐克语言环境的数字分组。
从 Java 7 开始,可以在数字文字中使用下划线字符。
我们使用setGroupingUsed()
方法设置分组。
第一个值比第二个更具可读性。 斯洛伐克使用空格字符进行数字分组。
NumberFormat
小数位数
我们可以用setMinimumFractionDigits()
和setMaximumFractionDigits()
控制小数位数。 如果位数少于最小小数位数,则将零添加到该值。 如果位数比小数位数的最大位数多,则四舍五入。
FractionDigits.java
在示例中,我们设置了分数位数的最小和最大数目。
第一个值四舍五入,第二个值再加上一个零数字。
NumberFormat
舍入数字
如前所述,如果小数位数多于允许位数的最大值,则该值将四舍五入。 有几种可用的舍入技术。
RoundingNumbers.java
该示例使用以下两种舍入模式对双数进行舍入:RoundingMode.UP
和RoundingMode.DOWN
。
我们通过setMaximumFractionDigits()
设置最大小数位数,并通过setRoundingMode()
设置舍入模式。
这是输出。
NumberFormat
格式化百分比
NumberFormat.getPercentInstance()
用于格式化百分比。
Percentages.java
该示例将双精度值格式化为百分比。
This is the output.
NumberFormat
格式货币
处理数字时最复杂的任务之一是格式化货币。 我们使用NumberFormat.getCurrencyInstance()
来获取货币的数字格式。
Currencies.java
该示例显示三个不同国家/地区的货币:美国,斯洛伐克和中国。
此行获取人民币的数字格式。
This is the output.
NumberFormat
解析数字
parse()
方法从给定字符串的开头解析文本以产生数字。
ParsingNumbers.java
该示例使用斯洛伐克语语言环境解析值。
在本教程中,我们使用 Java NumberFormat
。 我们设置了数字,货币,百分比,四舍五入的格式,设置了小数位数,并设置了数字分组。