本篇内容主要讲解“Java 12的数字格式化介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java 12的数字格式化介绍”吧!
在Java 12中添加的 CompactNumberFormat 类。可以将数字(例如1000)格式化为" 1K"(短样式)或" 1000"(长样式)。
要获取语言环境的 CompactNumberFormat
,请使用 NumberFormat
给出的工厂方法之一。
NumberFormat fmt = NumberFormat.getCompactNumberInstance(new Locale("hi", "IN"), NumberFormat.Style.SHORT); NumberFormat fmt = NumberFormat.getCompactNumberInstance( Locale.US, NumberFormat.Style.LONG);
我们还可以创建自定义的数字格式,在其中可以定义如何使用CompactNumberFormat(String,DecimalFormatSymbols,String [])
构造函数以较短的形式表示数字。
final String[] compactPatterns = {"", "", "", "0k", "00k", "000k", "0m", "00m", "000m", "0b", "00b", "000b", "0t", "00t", "000t"}; final DecimalFormat decimalFormat = (DecimalFormat)NumberFormat.getNumberInstance(Locale.GERMANY); final CompactNumberFormat customCompactNumberFormat = new CompactNumberFormat( decimalFormat.toPattern(), decimalFormat.getDecimalFormatSymbols(), compactPatterns);
简单格式化 - Java程序以紧凑数字格式格式化数字。
import java.text.NumberFormat; import java.util.Locale; public class Main { public static void main(String[] args) { NumberFormat fmt = NumberFormat .getCompactNumberInstance(Locale.US, NumberFormat.Style.LONG); System.out.println( fmt.format(100) ); System.out.println( fmt.format(1000) ); System.out.println( fmt.format(10000) ); System.out.println( fmt.format(100000) ); NumberFormat fmtShort = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT); System.out.println( fmtShort.format(100) ); System.out.println( fmtShort.format(1000) ); System.out.println( fmtShort.format(10000) ); System.out.println( fmtShort.format(100000) ); } }
程序输出。
100 1 thousand 10 thousand 100 thousand 100 1K 10K 100K
设置小数 - 设置数字的小数部分中允许的最小位数。默认情况下,小数部分设置为'0'
位。
import java.text.NumberFormat; import java.util.Locale; public class Main { public static void main(String[] args) { NumberFormat fmt = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT); fmt.setMinimumFractionDigits(3); System.out.println( fmt.format(10000) ); System.out.println( fmt.format(10012) ); System.out.println( fmt.format(100201) ); System.out.println( fmt.format(1111111) ); } }
程序输出。
10.000K 10.012K 100.201K 1.111M
Java程序将紧凑数解析为长模式。
import java.text.NumberFormat; import java.util.Locale; public class Main { public static void main(String[] args) throws Exception { NumberFormat fmt = NumberFormat .getCompactNumberInstance(Locale.US, NumberFormat.Style.LONG); System.out.println( fmt.parse("100") ); System.out.println( fmt.parse("1 thousand") ); System.out.println( fmt.parse("10 thousand") ); System.out.println( fmt.parse("100 thousand") ); } }
程序输出。
100 1000 10000 100000
到此,相信大家对“Java 12的数字格式化介绍”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。