2014-04-18 95 views
0
# My first application for reals! 
set drink {{"Kiwi Juice"} {"Apple Juice"} {"Pumpkin Juice"} {"Soda"}} 
set price {{1.50} {0.50} {2.00} {1.25}} 
foreach c $drink b $price { 
    set price1 [format "%-10s %+20s " "Drink" "Price"] 

    set price2 [format "%-5s %+10d Dollars " $c $b] 

    puts $price1 
    puts $price2 
} 

它不會運行。顯然它總是停在$c $b部分,但我確信我做得對!TCL格式化困境

+0

你有什麼期望的輸出?另外,我得到錯誤'expected expected integer,但在我的shell中得到了「1.50」,表示你需要'%+ 10f'而不是'%+ 10d'('f'表示浮點數)。 – Jerry

回答

1

%d替代在format,其中%+10d是一個專業化,僅適用於整數1.50不是一個整數,它是一個浮點數(當然是一個字符串)。你可能想%f替代,特別是%+10.2f(小數點後2位,總寬度10,帶符號):

set drink {{"Kiwi Juice"} {"Apple Juice"} {"Pumpkin Juice"} {"Soda"}} 
set price {{1.50} {0.50} {2.00} {1.25}} 
foreach c $drink b $price { 
    set price1 [format "%-15s %+10s " "Drink" "Price"] 
    set price2 [format "%-15s %+10.2f Dollars " $c $b] 

    puts $price1 
    puts $price2 
} 
+0

感謝:D真的幫了! – KnightSorcery