2014-10-07 160 views
2

在python中,我导入了一个文件,这些文件在数字中具有不同的长度小数位数,例如7.2或7.2332是否可以找出数字中的小数位数,如果是这样, ?我能找到的所有问题都是关于格式化到一个特定的小数位,但那不是我正在做的。在浮点数中计算小数位

该应用程序使用qdoublespinbox并将小数位数设置为所需的数量。

编辑:

在背景下,我能打印的数量,这将打印7.2,或5.42422等等。如果命令提示符打印正确的数字(即犯规中的内存分配打印一切。 float)有什么方法可以获取这些信息。

+1

你不能。这是不可能的(除非你愿意得到你没有想到的答案)。 – Veedrac 2014-10-07 08:31:58

+1

使用计算机时,特别是浮点数,只是因为您将数字设置为一定的小数位数并不意味着它实际上有那么多。这是因为有一些你不能复制的数字,比如'0.1',其实是'0.100000000000000005551115123126' – Ffisegydd 2014-10-07 08:33:40

+0

我猜快速降低音量意味着有一些问题,所以我问是否有可能。不知道什么答案我不指望会是,但我不明白为什么这个问题保证downvotes,答案是不可能的 – user1938107 2014-10-07 08:33:47

回答

0

转换为字符串并查找相对于字符串长度的小数点位置。

8

假设“导入文件”是指您的小数字符串的文件时,您可以使用反向并找到:

>>> f = "7.2332" 
>>> f[::-1].find('.') 
4 
>>> f = "7.20" 
>>> f[::-1].find('.') 
2 
+0

简单的转换适用于float参数实际上是要求:'f = 7.2332; STR(F)[:: - 1] .find( '')'。 – 2017-01-03 08:13:55

+0

感谢您的支持!它在将来和Python 3.x一起工作 - 注意如果没有小数,它将返回'-1'。出于某种原因,这个被关闭并且被标记为重复的帖子,没有*没有工作。所以,再次感谢这篇文章! :d – BruceWayne 2018-02-06 15:54:26