Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带V和逗号的COBOL图片_Cobol - Fatal编程技术网

带V和逗号的COBOL图片

带V和逗号的COBOL图片,cobol,Cobol,我正在学习OpenCOBOL的一些基础知识,下面是我关于图片的问题: 999V99值12.4 显示“012.40” 我也希望 9999V99的值为12.4,以产生一些合理的输出,但输出为“0001240” 9999V99值1234.56 还显示“0123456”,而不是我预期的“01234.56” 怎么了?从1234.56获取“01234.56”的正确掩码是什么?正确的掩码是99999。看看吉尔伯特在评论中建议的链接 Common mask characters 9 - 0 ->

我正在学习OpenCOBOL的一些基础知识,下面是我关于图片的问题:

999V99值12.4 显示“012.40”

我也希望 9999V99的值为12.4,以产生一些合理的输出,但输出为“0001240”

9999V99值1234.56 还显示“0123456”,而不是我预期的“01234.56”


怎么了?从1234.56获取“01234.56”的正确掩码是什么?

正确的掩码是
99999
。看看吉尔伯特在评论中建议的链接

Common mask characters 

    9 - 0 -> 9
    Z - 0 -> 9 + space for leading zero's
    V - Assumed decimal place not actually represented
    . - actual decimal place
    , - comma 

So
    Cobol definition           Display value
    ----------------           -------------
    99,999V99 VALUE 1234.56    01,23456 
    99,999.99 VALUE 1234.56    01,234.56 
    ZZ,ZZ9.99 VALUE 1234.56     1,234.56
    --,--9.99 VALUE 1234.56     1,234.56
    --,--9.99 VALUE -1234.56   -1,234.56
    ++,++9.99 VALUE 1234.56    +1,234.56
一旦使用了
Z、.-+/该字段为编辑后的数值字段,而不是数值字段。某些编译器可能允许您在数值计算中使用已编辑的数值,而其他编译器则不允许。编辑的数值用于显示值

数字字段 数值字段的定义如下所示,可用于数值计算

      03 num-1         pic s9(5)v99.
      03 num-2         pic s9(5)v99 comp.
      03 num-3         pic s9(5)v99 comp-3.

显示您的代码。阅读图片子句中符号的含义。提示:“9”表示数字中的一个位置,前导零也同样显示。还有另一个符号导致前导零被抑制。下面是IBM的
999V99值12.4
显示“012.40”:不显示。它显示“01240”。你需要在
图片中有一个点
才能去掉一个点。V是一个隐含的小数点,而不是物理小数点。同时包含
V
图片
字符串没有任何意义。如果你想要逗号和点,你应该使用
9999.99
。对不起,我是用手机写的。指代码或数据。始终提供代码、数据、错误、当前输出和预期输出,如图所示。如果相关,打印图像也可以。请看。