gpt4 book ai didi

c# - 是否可以检查 double 和 char 数据类型

转载 作者:太空狗 更新时间:2023-10-30 00:19:17 25 4
gpt4 key购买 nike

一位面试官问我这个问题,当我检查它是否工作时如何检查 char 和 double 的类型?请任何人解释一下。

class Program
{
static void Main(string[] args)
{
double d=0;

if((double)d == 'c')
{
Console.WriteLine("working");
}
else
{
Console.WriteLine("not");
}

Console.ReadLine();
}
}

最佳答案

Char 类型实际上是一个16 位整数,因此您可以根据需要比较它们:

  Double left = 'B'; // <- 66.0
Char right = 'A'; // <- it's 16-bit int == 65 in fact

if (left > right) {...}

但是,有一个问题:你不应该使用 ==!= without tolerance,因为 Double 以及其他浮点类型都有舍入误差,所以

  Double left = 66; 

实际上可能是 66.00000000000265.9999999999998。类似的东西:

  Double left = 'B'; // <- 66.0
Char right = 'A'; // <- it's 16-bit int == 65 in fact

// (left == right) comparison with tolerance
// Since right is integer in fact, 0.1 tolerance is OK
if (Math.Abs(left - right) < 0.1) {...}

关于c# - 是否可以检查 double 和 char 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22525895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com