在 IDL 中连接字符串和整数时出现错误空格

Erroneous spaces when concatenating string and integer in IDL

在 IDL 控制台中输入以下四行,输出如下。

IDL> num=123
IDL> str="bananas"
IDL> join=str+string(num)
IDL> print,join
bananas     123

为什么字符串中出现 5 个空格,我该如何阻止它发生?

当使用 STRING 函数转换时,数值会用前导空格填充。请改用 STRTRIM。参数“2”删除前导和尾随空格。

IDL> num=123
IDL> str="bananas"
IDL> join=str+STRTRIM(num,2)
IDL> print,join
bananas123

STRTRIM documentation explains more about the extra spaces. This page on formatted output 也有关于空格填充的详细信息。