所以...我有这个原始的计算器可以在我的手机上正常运行,但是当我尝试在Windows 10上运行时,我得到...
ValueError:无法将字符串转换为float
我不知道问题是什么,我尝试使用raw_input
,但它不起作用。请记住我是绿色的,我不知道解决这个问题的大多数方法
num1 = float(input ()) #take a float and store it
chars = input () #take a string and store it
num2 = float(input ())
答案 0 :(得分:2)
您的代码只转换整数字符串,如下面的语句
num1 = float(input ()) #take a float and store it ex 13
print num1 # output 13.0
如果您提供13
作为输入,则会将输出设为13.0
但如果您提供SOMEONEE
作为输入,则会提供ValueError
它与raw_input()
的情况相同,但区别在于默认情况下raw_input()
将输入作为字符串,input()
将输入作为提供给函数的输入
答案 1 :(得分:0)
我认为这是因为在某些情况下输入'包含非数字字符。 Python是聪明的,当字符串只包含数字时,它可以从字符串转换为浮点数。当字符串包含非数字字符时,Python无法将其转换为浮点数。
您可以通过以下几种方式解决此问题:
isdecimal()示例:
CREATE OR REPLACE PROCEDURE sp_insert_xml
(
p_id IN INT,
p_xml IN clob
)
AS
BEGIN
declare x clob;
y number(10);
begin
SELECT FILE into x from PROCESS_D where PROCESS_ID =1;
select dbms_lob.getlength(x) into y from dual;
DBMS_OUTPUT.PUT_LINE(y);
end;
--INSERT INTO TEST_ID VALUES (p_id, p_xml);
END;
<强>更新强> 两位炼金术士在评论中有一些很好的建议,所以我把它放在我的答案中。