这段代码是一个字符串转换为浮点数的过程。它首先判断字符串中是否有小数点,如果有则分离出整数部分和小数部分。然后将整数部分和小数部分拼接成一个浮点数返回。如果字符串中存在非数字字符,则会提示数据存在错误并返回-1。

代码解析:

else
{
    bool hasDot = false;
    int decimalPartIndex = 0;

    string intPart = "";
    string decimalPart = "";

    double num = 0;

    if ((str[j] >= '0' && str[j] <= '9') || str[j] == '.')
    {
        if (str[j] == '.')
        {
            if (!hasDot)
            {
                hasDot = true;
                decimalPartIndex = j;
                continue;
            }
            else
            {
                MessageBox.Show("数据存在错误");
                return -1;
            }
        }
        else
        {
            if (hasDot)
                decimalPart += str[j];
            else
                intPart += str[j];
        }
    }
    else
    {
        i = j - 1;
        break;
        
    }
}  

代码功能:

  1. 判断小数点: 使用 hasDot 变量记录字符串中是否已经出现小数点,并使用 decimalPartIndex 记录小数点的位置。
  2. 分离整数和小数部分: 如果遇到小数点,则将 hasDot 设置为 true 并记录小数点的位置。如果遇到数字,则根据 hasDot 的值将数字添加到 intPartdecimalPart 中。
  3. 拼接浮点数:intPartdecimalPart 拼接成一个字符串,并使用 double.Parse 方法将其转换为浮点数。
  4. 错误处理: 如果字符串中存在非数字字符,则会弹出错误提示并返回 -1。

代码示例:

string str = "123.456";
double num = ConvertStringToFloat(str);
Console.WriteLine(num); // 输出:123.456

代码总结:

这段代码展示了如何将字符串转换为浮点数,并使用 else 代码块对非数字字符进行处理。它使用了一些简单的逻辑判断和循环语句,使得代码结构清晰易懂。通过学习这段代码,可以帮助我们更好地理解字符串转换和错误处理的机制。

C# 字符串转浮点数代码解析:Else 代码块详解

原文地址: https://www.cveoy.top/t/topic/otPd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录