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;
}
/**
* 将角度转换为度分秒得字符串表示形式
* @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;
}
相关文章推荐
- 在java中,怎样把一个double数转换为字符串时,不用科学计数法表示。
- 在java中,怎样把一个double数转换为字符串时,不用科学计数法表示。
- Java中double类型的变量转换成字符串是什么样子的,还是和原来数值相同吗?
- Java将数字字符串转换成中文形式
- java实用方法系列 list转换为字符串的形式
- Java中如何将以byte数组给出的数据转换为double数组形式
- JAVA 将数字字符串转换成中文形式
- 将Json中的datetime的UTC表示形式转换为:"yyyy-MM-dd"或"yyyy-MM-dd HH:mm:ss"字符串表示形式
- 若干个数 以“字符串形式‘从键盘输入,将其转换为 double 型,并求平均数
- 若干个数 以“字符串形式‘从键盘输入,将其转换为 double 型,并求平均数
- 将Json中的datetime的UTC表示形式转换为:"yyyy-MM-dd"或"yyyy-MM-dd HH:mm:ss"字符串表示形式
- 将Excel中读取的科学计数法表示的Double数据转换为对应的字符串
- 将Fri May 04 17:25:34 CST 2012形式的日期字符串转换成java.util.Date对象的方法
- 【java 面试100】20.输入一个表示整数的字符串,把该字符串转换成整数并输出
- 【Java】比对两个以字符串形式表示的时期是否相差超过1天
- Java:数值-字符串转换(String转Double)
- java中字符串怎么转换成double类型
- 将Fri May 04 17:25:34 CST 2012形式的日期字符串转换成java.util.Date对象的方法
- Java 字节数组与十六进制表示的字符串,互相转换
- java一个科学技术法的字符串转换成double