A method for correcting irregularity data of a surface of a body of rotation obtained by rotating the body of rotation , comprising steps of: computing radius value (r k ) being a difference between a distance (L 0 ) from a rotation center of the body of rotation to a non-contact distance sensor located at a position facing the surface of the body of rotation and a distance (L k ) from the non-contact distance sensor to a surface of the body of rotation at each measurement point (x k ) with equal angular displacement (Δθ); making each computed radius value (r k ) correspond to a measurement point (x k ), and computing a surface length (s k ) of the body of rotation by summing the values obtained by multiplying the radius values (r k ) from a measurement starting point to an arbitrary measurement point (k) by the equal angular displacement (Δθ); computing a surface length (S N ) of one round of the body of rotation , and dividing the computed one round length of the body of rotation into equal intervals which space apart equally divided points, and making each of equally divided points to be irregularity computing points (X k ) for newly computed radius value (R k ); computing the newly computed radius value (R k ) at each of the irregularity computing points (X k ) based on radius values (r k , r k+1 ) at the measurement points (x k , x k+1 ) adjacent to irregularity computing point (X k ), and; making the newly computed radius value (R k ) to be the irregularity data (X k , R k ) of the surface of the body of rotation at respective points (X k ) equally spaced apart on the surface of the body of rotation so as to correct the irregularity data at the measurement point (x k ). computing radius value (r k ) being a difference between a distance (L 0 ) from a rotation center of the body of rotation to a non-contact distance sensor located at a position facing the surface of the body of rotation and a distance (L k ) from the non-contact distance sensor to a surface of the body of rotation at each measurement point (x k ) with equal angular displacement (Δθ); making each computed radius value (r k ) correspond to a measurement point (x k ), and computing a surface length (s k ) of the body of rotation by summing the values obtained by multiplying the radius values (r k ) from a measurement starting point to an arbitrary measurement point (k) by the equal angular displacement (Δθ); computing a surface length (S N ) of one round of the body of rotation , and dividing the computed one round length of the body of rotation into equal intervals which space apart equally divided points, and making each of equally divided points to be irregularity computing points (X k ) for newly computed radius value (R k ); computing the newly computed radius value (R k ) at each of the irregularity computing points (X k ) based on radius values (r k , r k+1 ) at the measurement points (x k , x k+1 ) adjacent to irregularity computing point (X k ), and; making the newly computed radius value (R k ) to be the irregularity data (X k , R k ) of the surface of the body of rotation at respective points (X k ) equally spaced apart on the surface of the body of rotation so as to correct the irregularity data at the measurement point (x k ). <EOS>