将字符串转换为带指数数字的浮点数

时间:2019-01-09 14:23:30

标签: u-sql

我需要将字符串转换为float 我需要u-sql代码。

脚本可能是指数级的,例如10 ^ 2

我尝试了Float.Convert,但无效。

我希望

convert(10^2) = 100

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

使用U-SQL内联函数的示例:

DECLARE @func Func <string,int?> = (s) =>{int x = Convert.ToInt32(s.Split('^')[0]); int y = Convert.ToInt32(s.Split('^')[1]); return x*y;};

DECLARE @inputFile string = @"\input\input36.csv";
DECLARE @outputFile string = @"\output\output.csv";

@input =
    EXTRACT rowId int,
            expo string
    FROM @inputFile
    USING Extractors.Csv();


@output =
    SELECT *,
           @func(expo) AS z
    FROM @input;


OUTPUT @output
TO @outputFile
USING Outputters.Csv(quoting:false);

使用此sample file,我得到了以下结果:

results