在Python中如何找到最低有效位数

理查德·W

我正在寻找一种希望找到的简单方法,即数字中的最低有效数字(浮点数或整数)。

例如:

101-> 1

101.2-> 0.2

1.1003-> 0.0003

诸如10、100、1000之类的案例的相关性稍差一些,尽管无论如何我都会对此感兴趣。

我并不特别在意格式,因此以更实际的方式识别结果是否更有意义。

例如:

101.2-> 0.1或10 ^ -1(对于相关幂/指数甚至为-1)很好。

对于其他背景,我正在尝试做的事情:

可以说我有一个数字31.6,我希望能够将其变成31.5(将最低有效数字减1)。可以说我有数字16,我想将其变成15(相同的想法)。如果我有数字100,我仍然想将其变成99,但我可能可以弄清楚那里的案子处理情况(不指定100.0,我认为1是最低有效数字,减1会给你0,但不是我想要的是)。这又与手动操作数据范围内的类中断有关(尽管不在主题范围之内)。

显示我的作业:这看起来很有希望(至少SigDigit部分),但是它返回的数字没有任何(数学的)数字强度的引用(我也希望避免大量的字符串转换)。

这就是我搜索stackoverflow时出现的内容,但似乎没有帮助(如果我事先使用了错误的术语/搜索词句,我表示歉意)

user2357112支持Monica

如果您已经有浮子,那么它将无法正常工作。Python浮点数不包含您需要的信息。1.之间没有区别1.0,如果将a1.0和a相除3.0,则得到0.3333333333333333(除非确实如此0.333333333333333314829616256247390992939472198486328125)。

如果您输入的是字符串,则可以轻松完成:

def least_significant_digit_power(num_string):
    if '.' in num_string:
        # There's a decimal point. Figure out how many digits are to the right
        # of the decimal point and negate that.
        return -len(num_string.partition('.')[2])
    else:
        # No decimal point. Count trailing zeros.
        return len(num_string) - len(num_string.rstrip('0'))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何确定R中数据的有效位数?

在Python中,为什么最低(最小)浮点值的有效位数与最大数字不同?

确定数据帧中的有效位数

如何在Java中递增固定有效位数?

如何获取NetCDF文件中存储的数据的有效位数?

计算有效位数

ToString抽象操作:最低有效位数未唯一确定

将有效位数翻倍至3

移位最高有效位数为1

格式化答案以更正C中的有效位数

比较两个数字中的有效位数

如何在python中找到两个数字不同的最低有效位的位置?

R中数字值的双精度(64位)表示形式(符号,指数,有效位数)

查找有效位数与r中小数点后的位数

signif 没有给我正确的 R 中有效位数

否定number_format()结果会更改有效位数吗?

通过分离有效位数和指数来近似log2(float)

如何删除Java中的最低有效位?

是否可以强制某个浮点数的指数或有效位数与另一个浮点数匹配(Python)?

在R中的整数中找到最低有效置位的最快/最有效方法是什么?

如何左移最低有效零?

具有固定有效位数的浮点数的正则表达式

从十进制格式的字符串中提取基数为10的有效位数和指数

如何在 Scala 中替换缓冲图像中的最低有效位

在Python中查找双精度中的最低有效数字

C-如何获取Char中的4个最低有效位

我在ggscatter中使用stat_regline_equation。有没有办法指定系数的有效位数?

是否有任何标准库可将float64转换为具有最大有效位数的固定宽度的字符串?

如何获得许多字节的最低有效位?