foreach (-2.0,-1.9,-1.5,-1.1,-1.0,-0.9,-0.5,-0.1,-0) { printf("string=%5s digits=%9f, float2big=%24.16e\n", $_, $_, $_); } __END__ prints: string= -2 digits=-2.000000, float2big=-2.0000000000000000e+000 string= -1.9 digits=-1.900000, float2big=-1.8999999999999999e+000 string= -1.5 digits=-1.500000, float2big=-1.5000000000000000e+000 string= -1.1 digits=-1.100000, float2big=-1.1000000000000001e+000 string= -1 digits=-1.000000, float2big=-1.0000000000000000e+000 string= -0.9 digits=-0.900000, float2big=-9.0000000000000002e-001 string= -0.5 digits=-0.500000, float2big=-5.0000000000000000e-001 string= -0.1 digits=-0.100000, float2big=-1.0000000000000001e-001 string= 0 digits= 0.000000, float2big= 0.0000000000000000e+000 #### foreach (-2.0,-1.9,-1.5,-1.1,-1.0,-0.9,-0.5,-0.1,-0) { printf("string=%5s digits=%9f, float2big=%24.16e\n", $_, $_*0, $_*0); } string= -2 digits= 0.000000, float2big= 0.0000000000000000e+000 string= -1.9 digits= 0.000000, float2big= 0.0000000000000000e+000 string= -1.5 digits= 0.000000, float2big= 0.0000000000000000e+000 string= -1.1 digits= 0.000000, float2big= 0.0000000000000000e+000 string= -1 digits= 0.000000, float2big= 0.0000000000000000e+000 string= -0.9 digits= 0.000000, float2big= 0.0000000000000000e+000 string= -0.5 digits= 0.000000, float2big= 0.0000000000000000e+000 string= -0.1 digits= 0.000000, float2big= 0.0000000000000000e+000 string= 0 digits= 0.000000, float2big= 0.0000000000000000e+000