对齐 SQR 中的列值
Align column values in SQR
我正在尝试对齐列值,但它们的长度不同。我不能只使用 Print '123' (+1, 9)
然后 Print '123456' (+1, 9)
因为它看起来像这样:
123456790123456790123456790123456790123456790123456790 <- Ignore this line
123
123456
请注意最右边的数字如何彼此不对齐。我希望输出是这样的:
123456790123456790123456790123456790123456790123456790 <- Ignore this line
123
123456
所以我想在某个索引处停止打印。我如何使用 SQR 实现此目的?
我尝试了 Print '123' (+1, 9)
和 Print '1234' (+1, 9)
,但给出了错误的结果。
我对SQR不是很熟悉,但这里有一个建议:因为SQR支持LPAD功能(参见String functions):
Pads the source_value on the left to a length of length_value using
pad_value and returns the result.
Syntax: dst_var = lpad(source_value, length_value, pad_value)
您可以将其应用于您打印的字符串。例如(再一次:请注意,我不知道 SQR,您可能需要调整它):
Print lpad('123', 6, ' ') (+1, 9)
这将使...123
(每个点代表一个space)。
为什么 LPAD 长度为 6 个字符?好吧,因为您的其他字符串 ('123456') 的长度为 6 个字符。如有必要,请更改它。
首先,您似乎想结束第 9 列中的值。lPad 函数对此不起作用,因为 (+1,9) 在第 9 列中表示开始。此外,您不能将lPad 函数到打印语句中。
改为使用从第 1 列开始打印的编辑参数:
Print 123 (+1,1) edit 999999999
Print 123456 (+1,1) edit 999999999
现在这对数字很有效,但对包含数字的字符串也很有效。所以这也有效:
Print '123' (+1,1) edit 999999999
Print '123456' (+1,1) edit 999999999
我已经在 SQR 中测试了这些语句并且它们有效,但是,这会产生丑陋的结果:
Print 'ABC' (+1,1) edit 999999999
Print 'ABCDEF' (+1,1) edit 999999999
如果必须打印字符串而不是数字,则使用 lPad 命令格式化变量:
Let $String = lPad($String, 9, ' ')
Print $String (+1,1) ! <--- start at column 1
我正在尝试对齐列值,但它们的长度不同。我不能只使用 Print '123' (+1, 9)
然后 Print '123456' (+1, 9)
因为它看起来像这样:
123456790123456790123456790123456790123456790123456790 <- Ignore this line
123
123456
请注意最右边的数字如何彼此不对齐。我希望输出是这样的:
123456790123456790123456790123456790123456790123456790 <- Ignore this line
123
123456
所以我想在某个索引处停止打印。我如何使用 SQR 实现此目的?
我尝试了 Print '123' (+1, 9)
和 Print '1234' (+1, 9)
,但给出了错误的结果。
我对SQR不是很熟悉,但这里有一个建议:因为SQR支持LPAD功能(参见String functions):
Pads the source_value on the left to a length of length_value using pad_value and returns the result.
Syntax: dst_var = lpad(source_value, length_value, pad_value)
您可以将其应用于您打印的字符串。例如(再一次:请注意,我不知道 SQR,您可能需要调整它):
Print lpad('123', 6, ' ') (+1, 9)
这将使...123
(每个点代表一个space)。
为什么 LPAD 长度为 6 个字符?好吧,因为您的其他字符串 ('123456') 的长度为 6 个字符。如有必要,请更改它。
首先,您似乎想结束第 9 列中的值。lPad 函数对此不起作用,因为 (+1,9) 在第 9 列中表示开始。此外,您不能将lPad 函数到打印语句中。
改为使用从第 1 列开始打印的编辑参数:
Print 123 (+1,1) edit 999999999
Print 123456 (+1,1) edit 999999999
现在这对数字很有效,但对包含数字的字符串也很有效。所以这也有效:
Print '123' (+1,1) edit 999999999
Print '123456' (+1,1) edit 999999999
我已经在 SQR 中测试了这些语句并且它们有效,但是,这会产生丑陋的结果:
Print 'ABC' (+1,1) edit 999999999
Print 'ABCDEF' (+1,1) edit 999999999
如果必须打印字符串而不是数字,则使用 lPad 命令格式化变量:
Let $String = lPad($String, 9, ' ')
Print $String (+1,1) ! <--- start at column 1