-
至尊宝的传说
可以这样来定义一个double型的double d = 0.1;然而,这样不可以通过float f = 0.1;来定义一个float型的,这是因为默认的小数是double型的要定义一个float型的,有两种方式float f = 0.1f;或者 float f = (float)0.1;相互之间的转化:举个例子:假设有void f1(double d)void f(float f)这两个函数的定义现在用上面定义的变量来调用一下就知道了f(d);是有编译错误的,这说明java中double不能自动转化为float,改为f((float) d);就行了但是f1(f),确是可以是,这是因为java可以自动的转化float至double来进行运算。至于为什么?java在运算时会自动的提升变量的精度来进行运算,double比float精度更高,所以可以自动的从float转化至double再进行运算。
-
缥缈止盈
是转换成Float类型,而不是double。后面不加F的float a = 10.1;这种,浮点数10.1自动认为是double类型,但是定义的float,所以会有类型转换。
-
眼眸繁星
12345678910111213141516171819202122232425以下代码,测试通过,你试试#include <iostream>#include <iomanip>#include <cmath>using namespace std;int main(){ int n; cin>>n; double dis=0,a[100],b[100],max=0; for(int i=0;i<n;i++) { cin>>a[i]>>b[i]; } for( int j=0;j<n-1;j++ ) for( int k=j+1;k<n;k++ ) { dis=sqrt( (a[k]-a[j])*(a[k]-a[j]) + (b[k]-b[j])*(b[k]-b[j]) ); if ( dis > max ) max=dis ; } cout<<fixed<<setprecision(4)<<max<<endl; return 0;}