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)”
为什么会发生这种情况的任何想法?我认为这是因为它不希望我将浮点数与整数相结合。如果这是原因,为什么?我该如何解决?如果这不是问题,您认为是什么?
谢谢!
答案 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
我不知道这是否是我们总是需要转换价值的错误,但它确实适用于您的其他问题......
问候,迈克尔/汉堡