我试图将空字符串替换为 0,但我遇到错误,指出 ${current_value} 仍然是空字符串.
错误:计算表达式"0 + "失败:语法错误:解析时意外的 EOF
${maxRows} Get Row Count ${FEEDBACK_TRANSACTION_SHEETNAME}
${TOTAL_USD}= Set Variable ${0}
FOR ${i1} IN RANGE 11 ${maxRows}
${current_value} Read Cell Data By Coordinates ${FEEDBACK_TRANSACTION_SHEETNAME} 5 ${i1}
${current_value} = Convert To String ${current_value}
Run keyword if '${current_value}' == '${SPACE}' Replace String ${current_value} ${empty} 0
... ELSE IF '${current_value}' == '-' Replace String ${current_value} ${empty} 0
... ELSE IF '${current_value}' == '${EMPTY}' Replace String ${current_value} ${empty} 0
... ELSE Log not empty
Log ${current_value}
Exit For Loop If ${i1} == ${maxRows} - 4
${TOTAL_USD}= Evaluate ${TOTAL_USD} + ${current_value}
END
Set Suite Variable ${TOTAL_USD}
如何在机器人框架中将空字符串转换为 0?
您可以将 python 习语x = x or y
与 Evaluate 关键字一起使用,如果它是真实的,它将保留x
,或者将其设置为y
否则。您还需要使用不带大括号的特殊变量语法,以便机器人在表达式中使用实际变量而不是变量的字符串表示形式。
${current_value}= evaluate $current_value or 0
这是一个完整的测试:
*** Variables ***
${current_value} ${EMPTY}
*** Test cases ***
Example
${current_value}= evaluate $current_value or 0
should be equal as numbers ${current_value} 0