c# -如何将浮点/指数结果转换/显示为整数/整数
本文关键字:整数 结果 指数 显示 转换 | 更新日期: 2023-09-27 17:49:52
我在。net环境中使用c#。我有一些非常大的整数值是由用户输入的,它们彼此相除,结果就显示出来了。现在我们知道4/2 = 2很简单但是如果我们除以
。0232321312321312312312312321032132139813912839013809123801283012983901283012380129382190381209382190382190382109382109382109312/1200000232323213213213213878978398494849023834902348239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048239048234902384902384902384902348239048239048234
答案是1.93601056119411E-197
我想把答案显示为一个完整的十进制/浮点值,而不是依赖于E符号。
我写了一些代码
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")
,当我有同样的问题时,它似乎可以做这项工作。