【问题标题】:Too large a number - How can I fix it?数字太大 - 我该如何解决?
【发布时间】:2021-08-28 12:01:05
【问题描述】:

CS0266 错误 num 3 代码可以用,但是 num 4 代码不行……我觉得这个数字太大了……我该如何解决?

        {
            GameManager.multiplier += 20000000;
            GameManager.o2 -= 2000000000;
            PlayerPrefs.SetInt("o2", GameManager.o2);
            PlayerPrefs.SetInt("multiplier", GameManager.multiplier);
        }
        if (num == 4 && GameManager.o2 >= 5000000000)
        {
            GameManager.multiplier += 90000000;
            GameManager.o2 -= 5000000000;
            PlayerPrefs.SetInt("o2", GameManager.o2);
            PlayerPrefs.SetInt("multiplier", GameManager.multiplier);
        }

【问题讨论】:

  • num 4 类型的Int32?那么它可能会超过它可以容纳的值。您可以使用 int.MaxValue 查看 Int32 可以容纳的最大值 2147483647。如果您需要整数来容纳更大的值,您可以使用 Int64long
  • uint 是 32 位,2 ^ 32 = 4294967296 大于 5000000000。你需要将其设为 long 或 ulong 才能使宽度达到 64 位。
  • 你能写代码吗?
  • 你的代码是 C# 还是 UnityScript?请告诉我们您使用的是哪种语言,因为您目前表示您的代码既是 C# 又是 UnityScript,这没有意义,因为它们是不同的语言。
  • 请澄清您的具体问题或提供更多详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: c# unity3d


【解决方案1】:

您需要使用足够大的数据类型来存储数字。如果你不确定你的整数会有多大,我推荐使用BigInteger

【讨论】:

  • 你能帮帮我吗?你能写出正确的代码吗?
【解决方案2】:

您需要将 GameManager.o2的类型更改为long

示例:

public class GameManager{

public long o2 {get; set;}

}

【讨论】:

猜你喜欢
  • 2017-07-28
  • 2020-10-03
  • 2017-04-30
  • 2021-03-22
  • 2023-01-03
  • 1970-01-01
  • 2019-05-10
  • 2021-08-20
  • 2020-08-01
相关资源
最近更新 更多