这可能很有趣,但我真的不知道如何搜索找到这个答案。
当我想加入字符串时,我总是使用这样的东西“string =”something“+”somethingelse“”
但如何用INT做到这一点? :)
Random r = new Random();
int lvfirst = r.Next(485924948);
int lvsecond = r.Next(39);
int lvdone = lvfirst + lvsecond;
Globals.GlobalInt = lvdone;
我尝试做一个长整数但它似乎不起作用它说一些关于龙的东西所以如果你可以帮助我如何将这2个随机数加入1?我需要1个最大随机数“48592494839”
非常感谢!
答案 0 :(得分:2)
此代码存在两个问题:
Next
的两个输出不会在目标范围内给出随机值。数学不适用于字符串。如果您想要指定范围内的值,请使用
var result = (long) (r.NextDouble() * 48592494839);
这对于任何目标范围仍然无效,但它可以轻松满足您的特定要求。
答案 1 :(得分:0)
你可以这样做:
Random r = new Random();
int lvfirst = r.Next(485924948);
int lvsecond = r.Next(39);
long lvdone = Int64.Parse(lvfirst.ToString() + lvsecond.ToString());
Globals.GlobalInt = lvdone;
基本上我们将所有ints
转换为一个字符串,该字符串会将第二个数字附加到第一个数字的末尾,然后我们将其转换回int
。
希望这有帮助!
答案 2 :(得分:0)
您想添加或连接您的整数吗?
如果要连接,可以尝试:
long lvdone = long.Parse(lvfirst.toString() + lvsecond);
如果你想添加它们并避免溢出:
long lvdone = ((long) lvfist) + lvsecond
如果您的号码必须任意长,请尝试使用Decimal而不是long
答案 3 :(得分:-1)
忽略随机的事情...... 这是连接数字的方法......
int a = 124;
int b = 101040507;
int digits = 32;
mask = 0x80000000;
while(a & mask == 0)
{
digits--;
mask= mask >> 1;
}
long result = b;
result = result << digits;
result = result | b;