float和decimal执行效率 (只是代码 没有分析—)
float版:
public static void getSmallFramPoint() { string framString ="Row,"+"Colum,"+ "framX," + "framY\r\n"; float i = 15f; float j =70f ; float a=0; float b=0; int row = 0; int colum = 0; int lan = 0; int lon = 0; for ( i = 15f; i <= 55f; i++) { lan =Convert.ToInt32(i); for (j =70f; j <= 137f; j++) { lon = Convert.ToInt32(j) ; for (a = i; a <= i + 1.005f; a += 0.01f) //0.005用来控制浮点型的误差 { row++;public static void getSmallFramPoint() { string framString ="Row,"+"Colum,"+ "framX," + "framY\r\n"; float i = 15f; float j =70f ; float a=0; float b=0; int row = 0; int colum = 0; int lan = 0; int lon = 0; for ( i = 15f; i <= 55f; i++) { lan =Convert.ToInt32(i); for (j =70f; j <= 137f; j++) { lon = Convert.ToInt32(j) ; for (a = i; a <= i + 1.005f; a += 0.01f) //0.005用来控制浮点型的误差 { row++; for(b=j;b<=j+1.005;b+=0.01f) { colum++; framString += row.ToString() + "," + colum.ToString() + "," + b.ToString("0.00") + "," + a.ToString("0.00") + "\r\n"; } colum = 0; } row = 0; //输出 System.IO.File.WriteAllText(@"G:\RZPU\20141118fishnet\test\" + lan.ToString() + "-" + lon.ToString() + ".csv", framString); framString = "Row," + "Colum," + "framX," + "framY\r\n"; } } } for(b=j;b<=j+1.005;b+=0.01f) { colum++; framString += row.ToString() + "," + colum.ToString() + "," + b.ToString("0.00") + "," + a.ToString("0.00") + "\r\n"; } colum = 0; } row = 0; //输出 System.IO.File.WriteAllText(@"G:\RZPU\20141118fishnet\test\" + lan.ToString() + "-" + lon.ToString() + ".csv", framString); framString = "Row," + "Colum," + "framX," + "framY\r\n"; } } }
decimal版:
public static void GetSmallFramPoint(decimal rows,decimal columns,int rowSpan,int columnSpan) { string framString = "Row," + "Colum," + "framX," + "framY\r\n"; decimal row=0; decimal column=0; decimal smallRow = 0;//遍历变量 decimal smallColumn = 0;//遍历变量 int lan = 0;//经纬度 int lon = 0;//经纬度 int rowNum=0;//行号 int columnNum=0;//列号 for (row = rows; row <rows + rowSpan; row++) { lan = Convert.ToInt32(row); for (column = columns; column < columns + columnSpan; column++) { lon = Convert.ToInt32(column); for (smallRow = row; smallRow <= row + 1; smallRow += 0.01m) { rowNum++; for (smallColumn = column; smallColumn <=column + 1; smallColumn += 0.01m) { columnNum++; framString += rowNum.ToString() + "," + columnNum.ToString() + "," + smallColumn.ToString() + "," + smallRow.ToString()+"\r\n"; } columnNum = 0; } System.IO.File.WriteAllText(@"G:\RZPU\20141118fishnet\test\" + lan.ToString() + "-" + lon.ToString() + ".csv", framString); framString = "Row," + "Colum," + "framX," + "framY\r\n"; rowNum = 0; } column = columns; } row = 0; }