我使用固定宽度输入步骤将文本值导入转换。一切都以字符串形式出现。我想将一些字符串值转换为在指定位置具有小数点的整数。以下是之前(左侧)和预期结果(右侧)的一些示例:
00289 --> 0028.9
01109 --> 0110.9
003201 --> 0032.01
我在“选择值”步骤(元数据选项卡)中尝试了多种格式蒙版组合,但我无法获取我正在寻找的值。
你能否告诉我我可以尝试哪种组合*这些字段的类型/长度/精度/格式/编码/十进制/组*属性以获得所需的输出?
答案 0 :(得分:1)
你有没有尝试过另一个步骤达到你的目标?您可以尝试使用例如User Defined Java Expression
以这种方式设置:
new java.math.BigDecimal(text.substring(0,4) + "." + text.substring(4,text.length()))
但这会将您的输入转换为:
00289 --> 28.9
01109 --> 110.9
003201 --> 32.01
因为其输出为BigNumber
格式。 BigNumber
或Number
格式可用于十进制数字。您不能将Integer
用于小数,因为它没有小数部分。
如果您希望String
输出省略上述表达式中的new java.math.BigDecimal()
部分,请将值类型设置为String
。它将产生这些结果:
00289 --> 0028.9
01109 --> 0110.9
003201 --> 0032.01
这是一个建议。当然,还有另外一种方法可以达到目标。