写一个程序,可以将字符串转换成浮点数,不用现成的函数
时间: 2024-10-13 12:02:42 浏览: 27
为了将字符串转换为浮点数,我们可以编写一个简单的Python函数,该函数遍历字符串,找到小数点的位置,并处理正负号。下面是一个示例程序:
```python
def string_to_float(s):
# 检查字符串是否为空或只包含非数字字符
if not s.replace('.', '', 1).isdigit():
return None
# 初始化结果变量
num = 0.0
is_negative = False
i = 0
# 处理负号
if s[0] == '-':
is_negative = True
i += 1
# 遍历字符串并计算数值
while i < len(s):
digit = int(s[i])
num *= 10
num += digit
i += 1
# 检查是否有小数点
if s[i] == '.':
i += 1
decimal_part = 0
while i < len(s) and s[i].isdigit():
decimal_part = decimal_part * 10 + int(s[i])
i += 1
num /= 10 ** (len(str(decimal_part)))
num += decimal_part
# 返回最终结果
return -num if is_negative else num
# 测试函数
test_strings = ["123.45", "-987.6", "0", "abc"]
for s in test_strings:
print(f"String '{s}': {string_to_float(s)}")
```
阅读全文