这里是已经编码的东西的简短代码:
if (str.Length % 3 != 0)
现在我的问题是,我如何定义,如果str.Length % 3 = int
必须做某事?
这是一个例子:
123456789123 / 3 = int...
我知道,我使用的语法不正确,但这是因为我不知道该怎么做。
如果你告诉我,你也会帮助我if (str.Length % 3 != 0)
的“对立面”。
感谢您的帮助。
答案 0 :(得分:2)
无论您提供的代码是什么,它都是int
。
原因:int / int = int
...任何十进制值都将被截断(不是舍入)。如果需要,C#不会自动将号码转换为float
或double
。您需要明确地进行该性质的类型转换。
我认为你可能也混淆了模%
并划分/
。如果你想知道是否没有余数,这意味着从计算中得到的数字是一个整数做if (str.Length % 3 != 0)
你放入代码......我假设你正在寻找这样的东西< / p>
if (str.Length % 3 != 0)
{
int num = str.Length / 3;
//Now do something with your int version of num
}
else
{
double num = str.Length / (double)3;
//Now do something with your double version of num
}
通过将3 int
转换为double
,结果数字将为double
,如果不这样做,您将获得截断的整数值,然后隐式转换为double
并存储在num
。
答案 1 :(得分:1)
语句str.Length % 3
总是产生整数。你需要的只是对这个陈述的简单否定,它会告诉你,还有一个余数...
!=
的否定当然是==
答案 2 :(得分:-1)
试试这个
if ((str.Length % 3).GetType() == typeof(int))
{
//is integer
}