我正在打印一張矩陣,每個元素的長度都相同,以便於閱讀。Java - 設置要打印的雙倍長度時是否包含小數點和前面的數字?
如果我做這樣的事情:
System.out.printf("%.16f", x);
然後我得到不同的長度,這取決於前面的(全)值:
x = 1;
x = 2.345;
x = 10;
x = 1243.5678;
給出了以下成果:
// 1.0000000000000000
// 2.3450000000000000
// 10.0000000000000000
// 1243.5678000000000000
這使得矩陣全部混亂。我怎樣才能限制整個雙數 - 包括小數和整數 - 到一定的長度?因此,對於以前的情況下,輸出將是:
// 1.0000000000000000
// 2.3450000000000000
// 10.000000000000000
// 1243.5678000000000
編輯#1
我不想只是用零墊。前導零不具吸引力,可能導致誤讀。即使我現在有%.16f
,我可能會使用更少的精度,並且每個數字都將是重要的(並且非零)。
可能與[右用零填充]重複(http://stackoverflow.com/questions/12962515/right-pad-with-zeros) – shmosel
但是,如果你指定你想要16位小數,你期望什麼? '%.16f' – ACV