c#

c# switch能用于浮点数吗

小樊
81
2024-12-01 11:15:07
栏目: 编程语言

在C#中,switch语句主要用于处理基于离散值的多个条件。默认情况下,switch语句不支持浮点数或任何其他非整数类型。然而,你可以通过将浮点数转换为整数(例如,通过乘以一个常数并将其转换为int)来使用switch语句处理浮点数。但是,这种方法可能会导致精度损失,因此需要谨慎使用。

下面是一个将浮点数转换为整数并使用switch语句处理的示例:

float input = 3.14f;
int intInput = (int)(input * 10); // 将浮点数乘以10并转换为整数

switch (intInput)
{
    case 0:
        Console.WriteLine("Input is 0");
        break;
    case 1:
        Console.WriteLine("Input is 1");
        break;
    case 2:
        Console.WriteLine("Input is 2");
        break;
    // ... 其他case
    default:
        Console.WriteLine("Input is not 0, 1, or 2");
        break;
}

请注意,这种方法可能会导致精度损失,因为浮点数的小数部分将被截断。在这种情况下,使用if-else语句可能更合适。

0
看了该问题的人还看了