四舍五入到最接近的整数
本文关键字:整数 最接近 四舍五入 | 更新日期: 2023-09-27 18:28:02
我有一个这样的数字:1.79769313486232E+308
,我想把它四舍五入到最接近的整数。所以我尝试了下面的一个:
Math.Round(1.79769313486232E+308, 0)
但它仍然给出了相同的结果。
有人能帮我吗。?
由于点后的数字少于309,因此您的数字是一个整数。科学记数法一定会让你感到困惑,例如1.234e+003也是一个整数,因为它等于1234。
最接近的整数与您尝试四舍五入的数字相同;它有309个数字:
1.79769313486232E+308 == 1797693134862320000....00
"E+308"在科学记数法中的意思是"乘以308次方的10"。一个简单的例子:
1.234E+3==1.234*数学Pow(10,3)==1.234*1000==1234
你可以很容易地通过打印数字说服自己:
BigInteger b = BigInteger.Parse("1.79769313486232E+308", NumberStyles.Any, CultureInfo.InvariantCulture);
Console.Write(b.ToString()); // <- 1797693134862320000....00
double.Parse("1.00E+4", CultureInfo.InvariantCulture)
试试这个
为我工作
如果您正在使用.NET framework 4.0,请添加对System.Numerics的引用然后
BigInteger b = BigInteger.Parse("1.79769313486232E+308", NumberStyles.Any, CultureInfo.InvariantCulture);