Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用浮点数创建if语句_Python_Python 3.x_If Statement_Floating Point - Fatal编程技术网

Python 使用浮点数创建if语句

Python 使用浮点数创建if语句,python,python-3.x,if-statement,floating-point,Python,Python 3.x,If Statement,Floating Point,我正在尝试创建一个转换程序,自动将转换后的文本复制到windows剪贴板。我正在尝试这样做,如果用户输入的数字被带到小数点后2位或更少,它会将转换后的结果复制到剪贴板的3位。如果用户输入的数字保留到小数点后3位或更多,则会将转换后的结果复制到剪贴板中保留到小数点后4位。当我运行代码时,我得到一个ValueError,但我不知道为什么。这是我得到的错误 line 88, in con if float_number >= ("%.3f" % float_number): ValueErr

我正在尝试创建一个转换程序,自动将转换后的文本复制到windows剪贴板。我正在尝试这样做,如果用户输入的数字被带到小数点后2位或更少,它会将转换后的结果复制到剪贴板的3位。如果用户输入的数字保留到小数点后3位或更多,则会将转换后的结果复制到剪贴板中保留到小数点后4位。当我运行代码时,我得到一个ValueError,但我不知道为什么。这是我得到的错误

line 88, in con
  if float_number >= ("%.3f" % float_number):
ValueError: incomplete format
下面是给我带来麻烦的代码部分(我在注释中解释了一些东西,这些东西对你们这些家伙/女孩来说可能是缺失的)


您的错误表示字符串模板中有错误,您缺少一个
%

if float_number >= (".3f" % float_number):
应该是

if float_number >= ("%.3f" % float_number):
hover,现在您正在尝试将
浮点值与字符串进行比较:

if float_number >= ("%.3f" % float_number):
这将抛出一个
类型错误

>>> 0.123 >= '0.123'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: float() >= str()

您的错误表示字符串模板中有错误,您缺少一个
%

if float_number >= (".3f" % float_number):
应该是

if float_number >= ("%.3f" % float_number):
hover,现在您正在尝试将
浮点值与字符串进行比较:

if float_number >= ("%.3f" % float_number):
这将抛出一个
类型错误

>>> 0.123 >= '0.123'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: float() >= str()

请务必向我们提供错误的完整回溯,不要让我们猜测错误发生的位置。您无需调用
float(number)
两次。只需将
float\u number=float(number)
移动到
中,然后尝试
/
除了..:
并删除
其他:
套件。我可以看到您的代码将抛出
类型错误
,而不是
值错误
。这就是你看到的吗?我只是将错误添加到问题中。你的错误与你的源代码不匹配,但即使你修复了它,它也会给出一个TypeError。请给我们完整的错误回溯,不要让我们猜测错误发生的位置。你不需要调用
float(number)
两次。只需将
float\u number=float(number)
移动到
中,然后尝试
/
除了..:
并删除
其他:
套件。我可以看到您的代码将抛出
类型错误
,而不是
值错误
。这就是你看到的吗?我只是把它给我的错误添加到了问题中。你的错误与你的源代码不匹配,但即使你修复了它,它也会给你一个TypeError。你需要更仔细地考虑你的条件;例如,您可以比较
四舍五入(float_number,3)>=0.01
。@innosis.Py:取用户输入的原始字符串,按小数点拆分,然后进行测量,怎么样
len(number.split('.')[1].strip())
。Python有优秀的文档和优秀的交互式解释器。为什么不试试解释器(,)中的各个组件。将
len(number.split(')[1].strip())
的结果存储在变量(
decimals\u count
可能)中,然后将该数字(一个整数)与预期的小数位数进行比较
if decimals_count@innosis.Py:使用类似于
try:decimals_count=len(number.split('.')[1].strip())
索引器除外:decimals_count=0
;异常处理是处理这种情况的最简单方法;例如,您可以比较
四舍五入(float_number,3)>=0.01
。@innosis.Py:取用户输入的原始字符串,按小数点拆分,然后进行测量,怎么样
len(number.split('.')[1].strip())
。Python有优秀的文档和优秀的交互式解释器。为什么不试试解释器(,)中的各个组件。将
len(number.split(')[1].strip())
的结果存储在变量(
decimals\u count
可能)中,然后将该数字(一个整数)与预期的小数位数进行比较
if decimals_count@innosis.Py:使用类似于
try:decimals_count=len(number.split('.')[1].strip())
索引器除外:decimals_count=0
;异常处理是处理这种情况的最简单方法。