2012-03-13 67 views
0

我在這裏用System.out.printf敲我的頭,我真的不明白看起來應該更簡單的東西。如何控制Java中格式化文本的對齊方式?

public class main{ 
    public static void main(String args[]){ 
     double dog = 3.85; 
     double cat = 333.85; 
     System.out.printf("Hola:%7.1f\n",dog); 
     System.out.printf("Hola:%5.0f", cat); 
    } 
} 

我想了解百分比符號後面數字的含義。簡而言之:

System.out.print("Number: %x.y", someNumber); 

x告訴我什麼和y告訴我什麼?

+5

查閱[Formatting Tutorial](http://docs.oracle.com/javase/tutorial/essential/io/formatting.html)獲取基礎知識和[java.util.Formatter](http ://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html)Java API中的詳細信息。這裏都有解釋。 – 2012-03-13 03:10:32

回答

1
  • x =用填充符在小數點左邊顯示多少位數的最小寬度。
  • y =浮點數的精度在小數點右邊。
+0

實際上這看起來不正確。根據你所說的如果我設置x = 2然後做System.out.printf(「%2.2f」,cat);那麼我會打印出33.85,但是當我運行它時仍然打印出333.85。 – Galipan 2012-03-13 12:42:48

+0

已更新,以澄清寬度的含義。 – chubbsondubs 2012-03-13 14:35:51