Java转Double类型经纬度为度分秒格式

public static String DDtoDMS(Double d){

         String[] array=d.toString().split("[.]");
         String degrees=array[0];//得到度

         Double m=Double.parseDouble("0."+array[1])*60;
         String[] array1=m.toString().split("[.]");
         String minutes=array1[0];//得到分

         Double s=Double.parseDouble("0."+array1[1])*60;
         String[] array2=s.toString().split("[.]");
         String seconds=array2[0];//得到秒
         return degrees+"-"+minutes+"-"+seconds;
   }

	@Test
	public void h(){
		Double longi = new Double(33.14898745000000000000);
		System.out.println(Test2.DDtoDMS(longi));
	}

  

原文地址:https://www.cnblogs.com/zplogo/p/9373987.html

时间: 2024-07-31 21:56:41

Java转Double类型经纬度为度分秒格式的相关文章

java android 将小数度数转换为度分秒格式

/** * 将小数度数转换为度分秒格式 * @param numStr (主要用于图片中存储经纬度) * @return */ public static String convertToSexagesimal(String numStr){ double num = Double.parseDouble(numStr); int du=(int)Math.floor(Math.abs(num)); //获取整数部分 double temp=getdPoint(Math.abs(num))*60

C#: 数字经纬度和度分秒经纬度间的转换

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

Java中double类型的数据精确到小数点后两位

Java中double类型的数据精确到小数点后两位 多余位四舍五入,四种方法 一: double f = 111231.5585;BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); 二: new java.text.DecimalFormat("#.00").format(3.1415926) 三: double d = 3.1415926

关于java中Double类型的运算精度问题

标题     在Java中实现浮点数的精确计算    AYellow(原作) 修改    关键字     Java 浮点数 精确计算   问题的提出:如果我们编译运行下面这个程序会看到什么?public class Test{    public static void main(String args[]){        System.out.println(0.05+0.01);        System.out.println(1.0-0.42);        System.out.

经纬度转换-----度分秒以及经纬度和米

经纬度互换 度(DDD):E 108.90593度    N 34.21630度 如何将度(DDD):: 108.90593度换算成度分秒(DMS)东经E 108度54分22.2秒?转换方法是将108.90593整数位不变取108(度),用0.90593*60=54.3558,取整数位54(分),0.3558*60=21.348再取整数位21(秒),故转化为108度54分21秒. 同样将度分秒(DMS):东经E 108度54分22.2秒 换算成度(DDD)的方法如下:108度54分22.2秒=1

Java中double类型与String 类型之间的互相转换

Java中String类型和double类型之间的转换 我们在注册网站的时候,往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需要一个日期类型,反过来,在页面上显示的时候,需要从数据库获取出生日期,此时该类型为日期类型,然后需要将该日期类型转为字符串显示在页面上,Java的API中为我们提供了日期与字符串相互转运的类DateForamt.DateForamt是一个抽象类,所以平时使用的是它的子类SimpleDateFor

java中double类型显示两个小数,比如12.00

Double类型的数据如何保留两位小数? 各位大虾,现有Double类型的数据,如何转换为保留两位小数的数,返回值的类型仍然是Double类型的,而不是字符串类型. 比如     0,返回"0.00": 提示:DecimalFormat       df       =       new       DecimalFormat( "#####0.00 ");                       System.out.println(df.format(d)

地球经纬 度与度分秒格式的转化

经纬度转换成为度分秒 double dd = Convert.ToDouble(txtLB.Text); double du=0, fen=0, sec=0; double du_y = 0, fen_y = 0; du =(int)dd; du_y = dd %1; fen = (int)(du_y * 60); fen_y = (du_y*60) % 1; sec = (int)(fen_y * 60); label53.Text = string.Format("{0} {1} {2}&q

如何使java中double类型不以科学计数法表示

在java中,把一个double或者BigDecimal的小数转换为字符串时,经常会用科学计数法表示,而我们一般不想使用科学计数法,可以通过:DecimalFormat a = new DecimalFormat("#,##0.00000000");        System.out.println(a.format(11111111.0000001000000001));的方式来格式化输出字符串. 对于BigDecimal的小数,如果制定精度<=6, 则可以放心的使用其toS