Talend:将字符串转换为BigDecimal

时间:2020-01-29 19:41:19

标签: talend

我正在尝试将一个字符串表从一个MySQL表转换为另一个表。

我已经在很多场合使用了以下内容,但是在这种情况下它似乎不起作用,我不确定原因。它要转换的字符串是50,000.00

Formula generating error

在tMap中使用该公式会产生以下错误:

Error

当我查看3031上的代码时:

code being used

所以某些功能无法正常运行。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

在正则表达式语法中,“ $”表示字符串的结尾。在正则表达式中,您试图删除字符串末尾的任何字符,这些字符不是数字或点,这是行不通的,因此永远不会从字符串中删除“,”,从而导致转换错误。
您可以这样做:

new BigDecimal(row1.Trade_Amount.replaceAll("[^\\d.]", ""))