为什么我不能一起添加一个浮点数和整数?

时间:2014-11-18 17:19:58

标签: applescript applescript-objc

    on addButtonClicked_(sender)

        if readyForFirst = true then

            set finalNumber to faceNumber's integerValue

            set readyForFirst to false

        else

            set finalNumber to finalNumber + faceNumber's floatValue()

        end if

        set firstNumberClick to true

        set theOperator to "+"

    end addButtonClicked_

出于某种原因,此部分不起作用:set finalNumber to finalNumber + faceNumber's floatValue()

我将错误“无法生成«类ocid»id«数据optr000000003701000000000000»转换为类型编号。(错误-1700)”

为什么会发生这种情况的任何想法?我认为这是因为它不希望我将浮点数与整数相结合。如果这是原因,为什么?我该如何解决?如果这不是问题,您认为是什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

与integerValue类似,floatValue不需要()

set finalNumber to finalNumber + faceNumber's floatValue

而不是

set finalNumber to finalNumber + faceNumber's floatValue()

答案 1 :(得分:0)

正如您在其他问题中所提到的,您必须将值(作为Core Foundation值返回)转换为Applescript值:

    if readyForFirst = true then
        set finalNumber to faceNumber's integerValue as integer
        set readyForFirst to false
    else
        set finalNumber to finalNumber + (faceNumber's floatValue as real)
    end if

我不知道这是否是我们总是需要转换价值的错误,但它确实适用于您的其他问题......

问候,迈克尔/汉堡