【发布时间】:2014-08-13 03:49:00
【问题描述】:
我主要在两个不同的场合看到 %f。首先,在printf [我认为] 我知道用法但不知道逻辑:
System.out.printf("%.2f", 3.1415); // will print 2 digits after decimal!
还用于格式化浮点数,例如 nextFloat() 随机生成器,我既不知道其用法也不知道其背后的逻辑:
Random random1 = new Random(100);
float g0 = Math.abs(random1.nextFloat()); // 0.7220096
float g1 = Math.abs(random1.nextFloat() %.1f); // 0.0346627
float g2 = Math.abs(random1.nextFloat() %1f); // 0.19497603
float g3 = Math.abs(random1.nextFloat()) %1f; // 0.7158033
我用谷歌搜索了一些解释,但我不确定我应该搜索哪个类别。 (这是正则表达式还是标志...?) 谁能给我一些例子并解释一下它是如何工作的?
【问题讨论】:
-
printf 中的第一个 % 符号用于格式化。第二个只是模运算符。