C# 关于取余数运算%使用中的问题 代码如下static void Main(string[] args){double d1 = 1.2132;while (d1 % 1 = 0) {d1 = 10 * d1;}Console.WriteLine(d1);Console.ReadLine();}理论上输出值为12132实际上输出值为1.2132E+16我查看
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/20 10:57:24
![C# 关于取余数运算%使用中的问题 代码如下static void Main(string[] args){double d1 = 1.2132;while (d1 % 1 = 0) {d1 = 10 * d1;}Console.WriteLine(d1);Console.ReadLine();}理论上输出值为12132实际上输出值为1.2132E+16我查看](/uploads/image/z/6843470-14-0.jpg?t=C%23+%E5%85%B3%E4%BA%8E%E5%8F%96%E4%BD%99%E6%95%B0%E8%BF%90%E7%AE%97%25%E4%BD%BF%E7%94%A8%E4%B8%AD%E7%9A%84%E9%97%AE%E9%A2%98+%E4%BB%A3%E7%A0%81%E5%A6%82%E4%B8%8Bstatic+void+Main%28string%5B%5D+args%29%7Bdouble+d1+%3D+1.2132%3Bwhile+%28d1+%25+1+%3D+0%29+%7Bd1+%3D+10+%2A+d1%3B%7DConsole.WriteLine%28d1%29%3BConsole.ReadLine%28%29%3B%7D%E7%90%86%E8%AE%BA%E4%B8%8A%E8%BE%93%E5%87%BA%E5%80%BC%E4%B8%BA12132%E5%AE%9E%E9%99%85%E4%B8%8A%E8%BE%93%E5%87%BA%E5%80%BC%E4%B8%BA1.2132E%2B16%E6%88%91%E6%9F%A5%E7%9C%8B)
C# 关于取余数运算%使用中的问题 代码如下static void Main(string[] args){double d1 = 1.2132;while (d1 % 1 = 0) {d1 = 10 * d1;}Console.WriteLine(d1);Console.ReadLine();}理论上输出值为12132实际上输出值为1.2132E+16我查看
C# 关于取余数运算%使用中的问题
代码如下
static void Main(string[] args)
{
double d1 = 1.2132;
while (d1 % 1 = 0)
{
d1 = 10 * d1;
}
Console.WriteLine(d1);
Console.ReadLine();
}
理论上输出值为12132
实际上输出值为1.2132E+16
我查看了一下详细的输出值发现其为12132000000000002
我就想问最后的2是怎么来的
C# 关于取余数运算%使用中的问题 代码如下static void Main(string[] args){double d1 = 1.2132;while (d1 % 1 = 0) {d1 = 10 * d1;}Console.WriteLine(d1);Console.ReadLine();}理论上输出值为12132实际上输出值为1.2132E+16我查看
因为计算机二进制的特性,小数运算是不精确的,你可以断点在d1 = 10 * d1看一下,乘以10后,d1的值是
12.132000000000001