示例:
INPUT: -1223.231
OUTPUT: sign: - integer: 12 fraction: 231
我的代码仅适用于小数的负数或正数。当我尝试在整数(例如1234或-1234)上使用我的代码时,我遇到了索引错误。我相信问题是当我试图拆分整数时我不能。 为了澄清我希望整数的输出看起来像这样:
INPUT: 1234
OUTPUT: sign: + integer: 1234 fraction: 0
关于我如何制作代码的任何帮助也会将整数分开? 提前谢谢。
decimal_string = '-1223.231'
if(decimal_string[0]=="-"):
sign="-"
splitValue = decimal_string.split('.')
print("sign: " + sign + " integer: " + splitValue[0][1:] +" fraction: " + splitValue[1])
elif(decimal_string=="0"):
print("sign: + integer: " + decimal_string[0:] + " fraction: 0")
else:
sign="+"
splitValue = decimal_string.split('.')
int_part = int(splitValue[0])
decimal_part = int(splitValue[1])
print("sign: " + sign + " integer: " + splitValue[0] +" fraction: " + splitValue[1])
答案 0 :(得分:1)
这应该有所帮助。
s = "-1223.231"
s1 = "-1234"
s2 = "1234"
def getVal(s):
sign = "+"
fraction = 0
integer = None
if s.startswith("-"): #Check if input is negative
sign = "-"
s = s.replace("-", "")
if "." in s: #Check if input has decimal
integer, fraction = s.split(".")
else:
integer = s
return sign, integer, fraction
print("sign: {0} ,integer: {1},fraction: {2}".format(*getVal(s)))
print("sign: {0} ,integer: {1},fraction: {2}".format(*getVal(s1)))
print("sign: {0} ,integer: {1},fraction: {2}".format(*getVal(s2)))
<强>输出:强>
sign: - ,integer: 1223,fraction: 231
sign: - ,integer: 1234,fraction: 0
sign: + ,integer: 1234,fraction: 0