您的位置:首页 > 编程语言 > Java开发

java角度字符串表示形式和double形式的转换

2011-08-19 10:23 393 查看
最近,在做一个GIS坐标转换的东西,需要涉及到这个转换,所以就在此记录下来,现将代码展示,还请各位批评指正



/**

* 将角度转换为度分秒得字符串表示形式

* @param angle

* @return

*/

public static String convert(double angle)

{

StringBuffer transAngle = new StringBuffer();

int deg = (int) angle;

if (deg > 0)

{

transAngle.append(deg + "°");

}

double mi = angle - deg;

//得到分

int minute = (int)(mi*60);

transAngle.append(minute + "′");

double se = mi*60 - minute;

transAngle.append(se * 60 + "″");

return transAngle.toString();

}



/**

* 度分秒的字符串表示形式转换为数值格式

* @param angle

* @return

*/

public static double convertToAngle(String angle)

{

StringBuffer transAngle = new StringBuffer(angle);

//获得度分秒的字符串

String degreeString = transAngle.substring(0, transAngle.indexOf("°"));

String minuteString = transAngle.substring(transAngle.indexOf("°")+1,

transAngle.indexOf("′"));

String secondString = transAngle.substring(transAngle.indexOf("′")+1,

transAngle.indexOf("″"));

//判断是否符合数值格式

double degree = 0;

double minute = 0;

double second = 0;

if (checkNum(degreeString)&&checkNum(minuteString)&&checkNum(secondString))

{

degree = Double.parseDouble(degreeString);

minute = Double.parseDouble(minuteString);

second = Double.parseDouble(secondString);

}

return degree + (minute*60+second)/3600.0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐