String类型转化为double类型的问题

J2EE 码拜 9年前 (2016-05-05) 2962次浏览
String a=”37626615.73017“;这样一个较长的字符串怎么转为double类型的
解决方案

4

double b=Double.parseDouble(a);

2

String a="37626615.73017";
        double d=Double.parseDouble(a);
        BigDecimal bd=new BigDecimal(a);

4

2楼的方法可行。题主你试试

2

double b=Double.parseDouble(a);
+1

2

String s = “37626615.73017”;
System.out.println(Double.parseDouble(s));
打印3.762661573017E7
科学计数法不影响你接下来的数学运算。
假如你只是显示在界面上,你直接显示String就行了,干嘛要转换?

2

引用:

用这方法数字都改变了

数字没变只是用科学计数法显示了,你可以处理一下

String a="37626615.73017";
        double d=Double.parseDouble(a);
        DecimalFormat decimalFormat = new DecimalFormat("###0.00");//格式化设置  
        System.out.println(decimalFormat.format(d));

2

引用:
Quote: 引用:

String s = “37626615.73017”;
System.out.println(Double.parseDouble(s));
打印3.762661573017E7
科学计数法不影响你接下来的数学运算。
假如你只是显示在界面上,你直接显示String就行了,干嘛要转换?

本人是做地图的需要这个坐标定位啊

所以为什么要用double

2

哥,你直接把你的double值传进去不就行了,不影响你计算吧String类型转化为double类型的问题

2

你的意思是传进去后描出来的位置跟原来的不一样?
假如是这样的话,本人觉得并不是类型的问题,而是你坐标的问题
打个比方你原始数据坐标是火星坐标,而这个方法处理的事百度坐标

2

引用:
Quote: 引用:

你的意思是传进去后描出来的位置跟原来的不一样?
假如是这样的话,本人觉得并不是类型的问题,而是你坐标的问题
打个比方你原始数据坐标是火星坐标,而这个方法处理的事百度坐标

引用:

你的意思是传进去后描出来的位置跟原来的不一样?
假如是这样的话,本人觉得并不是类型的问题,而是你坐标的问题
打个比方你原始数据坐标是火星坐标,而这个方法处理的事百度坐标

本人的坐标都是从数据库取出来的(37627808.506369 3637617.145968, 37627817.70498 3637611.791558)这样的字符串…..

标准地球坐标即GPS设备获得的坐标,该坐标需要经过国家测绘局进行加密后形成火星坐标(WGS-84 ),我们用的google坐标和高德地图坐标也就是火星坐标
百度地图,在火星坐标的基础上再进行一次加密,形成了百度地图上的坐标,因此,直接将标准地球坐标显示在百度地图上是会有几百米的偏差的。按照此原理,标准GPS坐标经过两步的转换可得到百度坐标。原因是在处理百度地图时,例如查询其POI都需要百度地图上的坐标,而不是标准坐标,那么这样的转换就是必要的了
本人的意思是你原始数据跟你方法要处理的坐标系是不一致的,导致你后来的瞄点出现错误


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明String类型转化为double类型的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)