早教吧作业答案频道 -->数学-->
关于保留一位小数并四舍五入第二位小数的doublex=123.456;s=(int)(x*10+0.5)/10;//为什么输出结果是10.000000s=(int)(x*10+0.5)/(double)10;//为什么输出结果是10.100000打错了,第二行的结果是123.000,第三行的结
题目详情
关于保留一位小数并四舍五入第二位小数的
double x=123.456;
s=(int)(x*10+0.5)/10; //为什么输出结果是10.000000
s=(int)(x*10+0.5)/(double)10; //为什么输出结果是10.100000
打错了,第二行的结果是123.000,第三行的结果是123.500,为什么答案不同
double x=123.456;
s=(int)(x*10+0.5)/10; //为什么输出结果是10.000000
s=(int)(x*10+0.5)/(double)10; //为什么输出结果是10.100000
打错了,第二行的结果是123.000,第三行的结果是123.500,为什么答案不同
▼优质解答
答案和解析
你告诉我 s的类型是什么
这是因为 第一个算式中 两个都是整型 所以没有小数
第二个中 因为有一个是整型 一个是双精度型就是double型因为double型的精度比整型高所以 整型要变为double型 这样精度就不会有损失 这是系统自动转的 是属于隐藏类型转换
这是因为 第一个算式中 两个都是整型 所以没有小数
第二个中 因为有一个是整型 一个是双精度型就是double型因为double型的精度比整型高所以 整型要变为double型 这样精度就不会有损失 这是系统自动转的 是属于隐藏类型转换
看了 关于保留一位小数并四舍五入第...的网友还看了以下:
速算与巧算(2)959595*96-969696*95444…4(2005个4)/555…5(20 2020-04-07 …
计算(0.1+0.12+0.123+0.1234)×(0.12+0.123+0.1234+0.12 2020-06-14 …
(0.1+0.12+0.123+0.124)乘(0.12+0.123+0.1234+0.12345 2020-06-14 …
1.(0.1+0.12+0.123+0.1234)*(0.12+0.123+0.1234+0.12 2020-06-14 …
一.简便运算:(0.1+0.12+0.123+0.1234)*(0.12+0.123+0.1234 2020-06-14 …
一个简单的C++问题15、设有说明语句:chars[]="ef\0\123\\\n89";size 2020-07-17 …
计算(0.1+0.12+0.123+0.1234)×(0.12+0.123+0.1234+0.12 2020-07-18 …
已知a>0,b>0,n≠0且2m+n=0,如果二项式(ax^m+bx^n)^12的展开式系数最大的 2020-07-31 …
已知a>0,b>0,n≠0且2m+n=0,如果二项式(ax^m+bx^n)^12的展开式系数最大的 2020-07-31 …
急,需要讲解一下怎么计算,已知√12.3≈3.507,1.23≈1.109,利用已知条件求下列格式的 2021-01-25 …