c# -如何将浮点/指数结果转换/显示为整数/整数

本文关键字:整数 结果 指数 显示 转换 | 更新日期: 2023-09-27 17:49:52

我在。net环境中使用c#。我有一些非常大的整数值是由用户输入的,它们彼此相除,结果就显示出来了。现在我们知道4/2 = 2很简单但是如果我们除以

。0232321312321312312312312321032132139813912839013809123801283012983901283012380129382190381209382190382190382109382109382109312/1200000232323213213213213878978398494849023834902348239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048234902384902384902384902348239048239048234

答案是1.93601056119411E-197

我想把答案显示为一个完整的十进制/浮点值,而不是依赖于E符号。

c# -如何将浮点/指数结果转换/显示为整数/整数

我写了一些代码

using System.Numerics;
BigInteger x = BigInteger.Parse("0232321312321312312312312321032132139813912839013809123801283012983901283012380129382190381209382190382190382109382109382109312");
BigInteger y = BigInteger.Parse("1200000232323213213213213878978398494849023834902348239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048234902384902384902384902348239048239048234
")
BigInteger answer = BigInteger.Divide(x, y)
return answer.ToString("D")

我认为这就是你要找的,如果你想要答案的小数部分,你必须用Complex类型来做。从问题中看不出你在做什么。

编辑:

这个怎么样

using System.Numerics;
BigInteger x = BigInteger.Parse("0232321312321312312312312321032132139813912839013809123801283012983901283012380129382190381209382190382190382109382109382109312");
BigInteger y = BigInteger.Parse("1200000232323213213213213878978398494849023834902348239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048234902384902384902384902348239048239048234
")
Complex answer = Complex.Divide((Complex)x, (Complex)y)
return answer.ToString("F50") //If 50 decimal places is enough.

我假设您不仅希望在您的值之前加上"0.00…",而且还希望看到411之后的"缺失"数字。

如果是这种情况,则不能对浮点数据类型执行此操作,因为. net中的浮点数据类型根本不具备所需的精度。您将需要求助于外部库,例如W3b。sin(未经测试,只是通过谷歌搜索找到的),它允许任意精度的小数

我使用.ToString("N0"),当我有同样的问题时,它似乎可以做这项工作。