none
正負號的輸出的問題 RRS feed

  • 問題


  • 想問問大家
    如果我想輸出
    print(int x, int y, int z)
    {
    write("{0 : D3} {1: D3} {2 : D3}" , x , z);
    }
    這個函數會做個幾十遍然後把XYZ很工整的印出來
    但這個XYZ可能是負的,然後就會把整個格式弄亂
    變成可能是
    001 002 003
    -100 009 040
    -111 -123 -044

    XYZ範圍 0 ~ 255
    不知道有沒有什麼辦法可以讓格式化輸出也考慮到正負號

    如果只有單一個變數
    我還可以用IF來判斷
    if( x < 0)
    {
    write("  {0: D2}", X); //空兩隔
    }
    else
    write(" {0: D3}", X);  //空一格
    但他有三個
    有8種可能性用IF有點不太好吧

    謝謝

    2008年12月14日 下午 05:34

所有回覆

  • 用分號隔開,省略項目時用正值格式。

    正值[;負值[;0]]

     

    所以你的改成 {0:  D2; -D2}

     

    註:此時負值的負號會被移除,所以須用格式指定或字串強制指定。

     

    2008年12月15日 上午 03:54
  • 不好意思
    不太懂你的意思
    可不可以寫個範例
    謝謝
    2008年12月15日 下午 02:16