【问题标题】:c# How to generate big double numbers randomly, with a long tale?c#如何随机生成大双数,故事很长?
【发布时间】:2017-08-17 20:36:27
【问题描述】:

如何在它们之间生成随机双数 0.000000000000000000000000000001 和 0.999999999999999999999999999999, 以便它们在打印时不会丢失小数点后的长度。

【问题讨论】:

  • 双精度数不存储无意义的数字
  • @maccettura 这里没有无意义的数字吗?
  • 双精度只有 15-16 位。
  • @DavidG 问题是专门要求生成的数字存储无意义的数字。
  • 忘记小数点,使用大整数并格式化要打印的字符串以添加小数点。不过,我怀疑您是否能够使用标准随机化选项生成如此精确的随机数。

标签: c# random numbers double


【解决方案1】:

我会亲自生成一个字符串并不断在末尾添加随机数值,因为大多数数字类型不会有你想要的那么多数字。

string Number = "0.";
Random rand = new Random();
for (int i = 0;i < 20;i++)
{
    Number += rand.Next(0,10);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-16
    • 2011-12-16
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 2014-04-30
    相关资源
    最近更新 更多