2011-10-06 47 views
0

我在Cobol圖片上運行一些測試,並想知道---是否是有效的圖片。我是否正確地說這張圖片接受範圍從-99到+99的值。如果它是有效的,那麼圖片可以接受3個空格作爲值?是--- Cobol圖片有效

例如:

12將返回12
1將返回1個

乾杯

回答

3

---是有效的PICTURE子句。與此PICTURE對應的變量將接受範圍-99至+99範圍內的數值分配。它不能被分配非數字(例如空格)。但是,如果您在爲該變量指定DISPLAY之後,前導零將被空格替換。因此,如果你MOVE ZERO這個項目它將只有DISPLAY空格。試圖MOVE SPACES到這個項目將導致編譯錯誤(不兼容的數據類型)。這最後一點看起來可能有點直觀,但請記住,這種PICTURE條款意味着顯示的USAGE - 基本上以這種方式定義的項目用於「漂亮打印」數字。關於您可以使用USAGE DISPLAY項目預製的唯一操作是從MOVE到或從DISPLAY他們。

編輯 - 迴應評論

---X(2)一個PICTURE是無效的。下圖說明了符號可能出現在PICTURE字符串中的組合和順序。請注意,括號不在圖表中。在邏輯上,您可以在讀取字符串之前將它們替換爲相應的前一個字符的出現次數。例如X(3)被讀作XXX。如果您確實想要正確解析出PICTURE字符串,則可以使用此圖表專門爲它們構建一個BNF語法。

enter image description here

+0

Thanks @NealB。所以我認爲你不能混合像---和X(2)這樣的數字顯示,所以你有--- X(2)?那有效嗎?謝謝:) – Decrypter

+0

@Decrypter查看編輯答案... – NealB

0

如果這是一個數字圖片,它不會接受的空間。