string - "set foo to text returned of"代表数字吗?

标签 string integer applescript automator

我知道你可以将 foo 设置为(显示对话框“Dialog”默认答案“默认”)返回的文本。 我已经尝试了从 set foo to number returned ofset foo to integer returned of 的所有方法,但我似乎找不到用于返回数字的关键字。有什么帮助吗?

最佳答案

您需要获取返回的文本,然后将其强制转换为整数:

set foo to (text returned of (display dialog "Enter a number" default answer "42")) as integer

或者,拆开更能说明的是:

display dialog "Enter a number" default answer "42"
set foo to text returned of the result
set foo to foo as integer

我会把它分开,这样你就可以在强制转换周围包裹一个 try block ,以防它不是数字。

set foo to text returned of (display dialog "Enter a number" default answer "42")
try
    set foo to foo as integer
on error err
    set foo to 0
end

并且,这是一种反复询问的方法,直到他们提供有效的号码:

set msg to "Enter a number"
repeat
    set foo to text returned of (display dialog msg default answer "42")
    try
        set foo to foo as integer
        exit repeat
    on error err
        set msg to "That's not a valid number. Please enter a number."
    end try
end repeat
return foo

关于string - "set foo to text returned of"代表数字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23921177/

相关文章:

java - 只需要在Java中为Integer.valueOf()编写Junit

python - 我想从 python 脚本中的字符串中分离出 IP 和端口

java - 我的 Eclipse 副本不知道对象或字符串是什么

java - 将字符串转换为整数

applescript - 导致 stackoverflow 的简单 AppleScript——为什么?

macos - 如何使用 applescript 在 os x 中自定义通知

arrays - 将列表转换为 applescript 数组

javascript - 使用javascript从HTML网页中提取图像url

删除 "_"之前的所有字符

string - 戈兰 : how to sum an array of integers as strings and numbers