擅长:python、mysql、java
<p>下面是一个python示例:</p>
<pre><code>import math
def split_num(num):
i = 0
while (num != round(num, i)): ## NOTE: guaranteed to terminate
i = i + 1
p1 = math.ceil( ( 10**i * num ) / 2) / 10**i ## using 10**i rounds to the appropriate decimal place
return (p1, num - p1)
## test output
if __name__ == "__main__":
print(split_num(10))
print(split_num(10.1))
print(split_num(10.12))
print(split_num(10.123))
print(split_num(10.1234))
print(split_num(7.3))
>>> python split_num.py
(5.0, 5.0)
(5.1, 5.0)
(5.06, 5.06)
(5.062, 5.060999999999999)
(5.0617, 5.0617)
(3.7, 3.5999999999999996)
</code></pre>