Excel SSIS—将字符串转换为数字的if/else表达式
我有Excel表格,其中同一列可以包含格式为%的值,也可以包含十进制符号为的值。 澄清:在Excel中,两者的格式相同,但由于Excel版本(位置)不同,SSI显示如下: 1,3%或0.814260540128523 这些值以字符串的形式输入,所以我试图找出一种方法,将%格式的值除以100,其他值保持不变 最初我使用:Excel SSIS—将字符串转换为数字的if/else表达式,excel,ssis,formatting,expression,Excel,Ssis,Formatting,Expression,我有Excel表格,其中同一列可以包含格式为%的值,也可以包含十进制符号为的值。 澄清:在Excel中,两者的格式相同,但由于Excel版本(位置)不同,SSI显示如下: 1,3%或0.814260540128523 这些值以字符串的形式输入,所以我试图找出一种方法,将%格式的值除以100,其他值保持不变 最初我使用: (DT_R8)[F5_CONV] < 1 ? (DT_R8)[F5_CONV] : (DT_R8)[F5_CONV] / 100 希望你能帮我。 谢谢。您也可以使用脚本组
(DT_R8)[F5_CONV] < 1 ? (DT_R8)[F5_CONV] : (DT_R8)[F5_CONV] / 100
希望你能帮我。
谢谢。您也可以使用脚本组件。这里有一个快速的解决方案;您可能需要为null添加验证。如果你需要帮助,请告诉我们
(F5 == "" || ISNULL(F5)) ? NULL(DT_WSTR,40) : FINDSTRING(F5,"%",1) > 0
? (DT_WSTR,40)((DT_R8)REPLACE(REPLACE(F5,".",","),"%","") / 100)
: (DT_WSTR,40)REPLACE(F5,".",",")
(F5 == "" || ISNULL(F5)) ? NULL(DT_WSTR,40) : FINDSTRING(F5,"%",1) > 0
? (DT_WSTR,40)((DT_R8)REPLACE(REPLACE(F5,".",","),"%","") / 100)
: (DT_WSTR,40)REPLACE(F5,".",",")