Python 函数捕获十进制表示法的最后3位
仅取小数点后3位数据?任何python数学函数库都可以完成这项工作Python 函数捕获十进制表示法的最后3位,python,math,bit,representation,Python,Math,Bit,Representation,仅取小数点后3位数据?任何python数学函数库都可以完成这项工作 data = 55554343.345 incoming(data) def incoming(data) in_data = data 我需要收集十进制数据的最后3位,如下所示:in_data=343.345 def incoming(data) in_data = round(data % 1000,3) 感谢萨米:) 结果: incoming data 956.155 你确定这样行吗?我的意思是,他
data = 55554343.345
incoming(data)
def incoming(data)
in_data = data
我需要收集十进制数据的最后3位,如下所示:in_data=343.345
def incoming(data)
in_data = round(data % 1000,3)
感谢萨米:)
结果:
incoming data 956.155
你确定这样行吗?我的意思是,他只需要小数点后三位,但您的代码输出343.34499999,我需要343.345,而不是扩展浮点小数部分。34499999谢谢Arun。我的重点是放圆(数据%1000,3)。它可能在扩展后变成四舍五入。如果该值最初为343.34,则舍入函数不会产生.34的分数。我需要保持分数不变这是一个糟糕的解决方案!请尝试使用
55554343.345
(您在问题中使用的值)。对于55554343.345,我需要将“传入数据”打印为float(in_da[5:]),这是我能得到的最好值。如果您有更好的方法,请告诉我您希望结果是字符串还是浮点数?(这是为了报告的目的,还是你需要用截断的结果做进一步的计算?)我需要做进一步的计算如果你想把结果作为一个浮点数,那么@ArunGhosh的答案应该有效。是的,你会得到一个很小的结果。十亿分之一的错误真的是应用程序中的问题吗?若然,原因为何?
incoming data 956.155