作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我意识到这听起来很简单,而且可能...说出 main() 中的代码,它在一个循环内:
System.out.println(num[i]+"\t "+qty[i]+"\t "+money.format(price[i])+"\t"+money.format(value[i])+"\t"+reorder[i]);
此处捕获的总数:
http://maradastudios.ucoz.com/school/Capture.png
您可能已经注意到,它运行良好。但是,在输出期间,#114 行(倒数第二行)的总值为 $90.00。这是正确的,但它会导致 Reorder Point 变量出现奇数间距。简而言之,我能否将此变量格式化为占用与较大数字对应的空间相同的空间量?
最佳答案
有点像
String.format("%10.2f", yourFloat)
// or
System.out.format("%10.2f", yourFloat)
将打印一个 10 个字符宽(包括小数点)的字符串,小数点后有两个数字字符。
( Docs )
所以
String.format("$%6.2f", value[i])
将同时对齐 $
和 .
字符(除非 value[i] > 999.99
)。
代替:
System.out.println(
num[i] +"\t "+
qty[i] +"\t "+
money.format(price[i])+"\t"+
money.format(value[i])+"\t"+
reorder[i]);
(这正是您所拥有的,只是为了清晰起见并删除了滚动条而进行了格式化)
我可能会写:
System.out.format("%5d\t %5d\t $%5.2f\t $%6.2f\t %5d %n",
num[i], qty[i], price[i], value[i], reorder[i]);
这假设 price
和 value
数组是 float 或 double 。由于 money
不是标准类,因此除了添加 $
符号外,很难确切地说出它的作用。
字符串格式语法在文档中定义,但对于 float ,它是粗略:
%X.Yf
其中X
为总字段宽度,Y
为小数位数
例如
"123.40" Has a total width of 6:
3 + 1 [decimal point] + 2 = 6)
" 2.34" Also has a total width of 6:
2 [spaces] + 1 + 1 [decimal point] + 2 = 6
关于java - 在 Java 中,有没有办法格式化 double/int 或非字符串变量的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15839190/
我是一名优秀的程序员,十分优秀!