Java double type conversion to degrees minutes seconds
The java double type is converted to the form of degrees, minutes, and seconds. This is often used in latitude and longitude. Not much else to say directly to the code
public static String dblToLocation(double data) {
StringBuffer result = new StringBuffer();
//得到度
int du = (int) data;
result = result.append(String.valueOf(du) + "°");
//得到分
double du1 = data - du;
int min = (int) (du1 * 60);
result = result.append(String.valueOf(min) + "′");
//得到秒
double min1 = du1 * 60 - min;
int sec = (int) (min1 * 60);
result = result.append(String.valueOf(sec) + "″");
return result.toString();
}
personal records
/**
* 时间: 2021-9-1
* 10进制 转 弧度 转度 转 角度
*
* @param jz10 10进制数
*/
public static void GiXi(double jz10) {
double width = 8408850;//10进制
System.out.println( "10进制:" + width );
//计算弧度
double s = ( double ) (Math.sin( width / 10000000 * 3.141592653589793d / 180 ) * 900);
System.out.println( "弧度:" + s );
//弧度 转 度。
double data = Math.toDegrees( s );
System.out.println( "度:" + data );
StringBuffer result = new StringBuffer();
//得到度
int du = ( int ) data;
result = result.append( String.valueOf( du ) + "°" );
//得到分
double du1 = data - du;
int min = ( int ) (du1 * 60);
result = result.append( String.valueOf( min ) + "′" );
//得到秒
double min1 = du1 * 60 - min;
int sec = ( int ) (min1 * 60);
result = result.append( String.valueOf( sec ) + "″" );
System.out.println( "角度:" + result.toString() );
// 度 转 弧度。
double toRadians = Math.toRadians( data );
System.out.println( "弧度。:" + toRadians );
//转10进制
double zz = ( double ) (Math.asin( toRadians / 900 ) * 10000000 / 3.141592653589793d * 180);
//常用四舍五入
zz = Math.round( zz );
System.out.println( "十进制数:" + zz );
//double jiaodu = b * 180.0f / Math.PI;//弧度转角度
//double hudu = strdouble * Math.PI / 180.0f;//角度转弧度
}