相关疑难解决方法(0)

如何确保整数除法总是四舍五入?

我想确保在必要时整数除以整数.有比这更好的方法吗?有很多铸件正在进行中.:-)

(int)Math.Ceiling((double)myInt1 / myInt2)
Run Code Online (Sandbox Code Playgroud)

c# math

235
推荐指数
5
解决办法
6万
查看次数

如何可靠地从一个数字中分离小数和浮动部分?

这不是重复这个,我会在这里解释.

考虑x = 1.2.我想把它分成10.2.我已经尝试了链接问题中概述的所有这些方法:

In [370]: x = 1.2

In [371]: divmod(x, 1)
Out[371]: (1.0, 0.19999999999999996)

In [372]: math.modf(x)
Out[372]: (0.19999999999999996, 1.0)

In [373]: x - int(x)
Out[373]: 0.19999999999999996

In [374]: x - int(str(x).split('.')[0])
Out[374]: 0.19999999999999996
Run Code Online (Sandbox Code Playgroud)

我没有尝试给我完全10.2.

有没有办法可靠地将浮点数转换为不受浮点表示限制阻碍的十进制和浮点等值?

我理解这可能是由于数字本身的存储方式有限,所以我愿意接受任何克服这个问题的建议(比如一个包或其他).

编辑:如果可能的话,更喜欢不涉及字符串操作的方法.

python floating-point ieee-754

3
推荐指数
1
解决办法
646
查看次数

class无法正确处理*args

我写了一个类,其中有一个函数接受几个输入*args,但是运行结果证明它只接受来自第二个的参数,就好像self取第一个,这里是一个简化的代码:

class incorrect():
    def itera(self, *args):
        for i in args:
            print(i)

a = incorrect
a.itera(12, 23, 34)
Run Code Online (Sandbox Code Playgroud)

输出12丢失了:

23
34
Run Code Online (Sandbox Code Playgroud)

问题是什么?我该如何解决这个问题?

python class

2
推荐指数
2
解决办法
91
查看次数

检查两个值是否为非负值或均为负值

给定一对整数值,我需要检查两者是否为非负数或两者都为负数.

琐碎的方式是:

def func(a, b):
    return (a >= 0 and b >= 0) or (a < 0 and b < 0)
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一些"整洁"的东西,我相信这是可能的,所以我想出了这个:

def func(a, b):
    return (a >= 0) ^ (b >= 0) == 0
Run Code Online (Sandbox Code Playgroud)

然而,这个感觉有点"对普通读者来说模糊不清".

有更干净的方式吗?

谢谢.

python python-3.x

0
推荐指数
1
解决办法
83
查看次数

标签 统计

python ×3

c# ×1

class ×1

floating-point ×1

ieee-754 ×1

math ×1

python-3.x ×1