当前位置: 首页 > news >正文

合肥外贸网站建设公司价格百度搜索引擎入口登录

合肥外贸网站建设公司价格,百度搜索引擎入口登录,备案 网站,淡水做网站在写Android接收蓝牙数据的时候,由于传过来的蓝牙数据转换后都为字符串格式,但是需要从其中提取出来浮点数,所以通过查阅资料写出了从字符串中提取并转换为浮点数的方法,特记录下来以供参考。 目录 原始数据内容 提取字符串中的…

在写Android接收蓝牙数据的时候,由于传过来的蓝牙数据转换后都为字符串格式,但是需要从其中提取出来浮点数,所以通过查阅资料写出了从字符串中提取并转换为浮点数的方法,特记录下来以供参考。

目录

原始数据内容

提取字符串中的相关数值部分

分割出单个数值并转换为float/double类型

通过空格分割出单个的字符串

单个字符串String转换为浮点数float/double


原始数据内容

均为String字符串类型,数据是浮点数类型并有可能出现负数

Acceleration X: 9.84, Y: -2.54, Z: -1.84 m/s

Rotation X: -0.08, Y: -0.07, Z: 0.01 rad/s^2

提取字符串中的相关数值部分

使用Java中的Character类中的isDigit()方法来判断当前字符是否为数字,并在字符串中进行遍历。还要利用StringBuilder对象来构建目标字符串。

从上面的数据中可以分析得我们不应该只保留数字,遇到小数点负号也要保留,并且这里我还把空格保留了下来,方便之后提取一个一个的数字

String str = "xxxxxxx";//待提取的字符串StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {if (Character.isDigit(c)||c=='.'||c==' '||c=='-') {sb.append(c);}
}String result = sb.toString();

通过这一步的操作提取出来的结果仍然是字符串String类型,但内容变成了

9.84    -2.54    -1.84

-0.08    -0.07    0.01

分割出单个数值并转换为float/double类型

由于上一步得出来的结果仍然是字符串类型,并且一个字符串当中有多个数值,通过空格分割出来,所以我们还要单个提取其中的每一个数值

通过空格分割出单个的字符串

首先利用字符串中的每个数值之间是通过空格分隔的,所以可以分割出来一个一个的数值字符串。通过split()方法可以分成一个字符串数组,遍历数组便会得到一个一个的数值

String [] arr = str.split(" "); //str为待分割的字符串
for(String ss : arr){System.out.println(ss);
}

为了防止字符串数组arr中一些元素可能出现一些非数值的内容(因为空格个数问题),我们还可以多加一步判断,将上面的代码修改,增加一个isNumeric()函数,其使用正则表达式是判断字符串是否为数字的一种常见方法。Java中的正则表达式可以通过matches()方法来进行匹配。

public static boolean isNumeric(String str) {return str.matches("-?\\d+(\\.\\d+)?");
}String [] arr = str.split(" "); //str为待分割的字符串
for(String ss : arr){if(isNumeric(ss))System.out.println(ss);
}

单个字符串String转换为浮点数float/double

上述可以通过for循环打印出来一个一个的字符串,每个字符串中都包括了一个浮点数,但由于此时还是String类型,所以我们需要类型转换。

Float.parseFloat()方法可以将字符串转化为float类型的浮点数。该方法接收一个字符串作为参数,返回对应的float类型的浮点数值。如果字符串无法转化为合法的浮点数,则会抛出NumberFormatException异常。

String str = "3.14";
float floatValue = Float.parseFloat(str);
System.out.println(floatValue); // 输出结果为 3.14

Double.parseDouble()方法与Float.parseFloat()方法类似,可以将字符串转化为double类型的浮点数。 

String str = "3.14";
double doubleValue = Double.parseDouble(str);
System.out.println(doubleValue); // 输出结果为 3.14

借由上面的代码我们就可以把整体的代码给得出来,并且通过for循环把每个转换后的浮点数给成功打印出来

String str = "xxxxxxx";//待提取的字符串StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {if (Character.isDigit(c)||c=='.'||c==' '||c=='-') {sb.append(c);}
}String resultStr = sb.toString();public static boolean isNumeric(String str) {return str.matches("-?\\d+(\\.\\d+)?");
}float floatValue;
String [] arr = resultStr.split(" "); //str为待分割的字符串
for(String ss : arr){if(isNumeric(ss))floatValue = Float.parseFloat(ss);System.out.println("转换后的浮点数值为:"+floatValue);
}

http://www.ritt.cn/news/29790.html

相关文章:

  • 政府门户网站建设的保障体系个人永久免费自助建站
  • 松岗做网站联系电话一键关键词优化
  • 网站的会员系统怎么做域名关键词查询
  • 网站建设找谁做seo顾问是干什么
  • wordpress freebufseo网站建设公司
  • 网页qq家园seo站长
  • 做视频网站需要多大空间批量关键词排名查询工具
  • 想学网站建设开发百度查一下
  • 17网站一起做网店普宁池尾雅晨百度站长工具综合查询
  • 旅游网站前端模板网址搜索
  • 网站自己做的记者证如何制作网址
  • 教新手做网站难吗每日新闻
  • asp做网站和dw的区别企业网站建设流程
  • 北京住房与城乡建设部网站快速排名工具免费查询
  • 建设公司网站需要注意什么高级搜索指令
  • 西安微动免费做网站产品推广思路
  • 网站开发设计师鸡西seo
  • 网站建设立项说明书网络营销的优势有哪些?
  • 宜兴埠网站建设无锡百度推广平台
  • 长治网站开发seo网站推广优化
  • 北京网站建设哪家比较好软文发布门户网站
  • java开发面试题郑州网络seo
  • 四川省成都市龙泉驿区疫情宁波网站推广网站优化
  • 网站查询 工信部网络营销环境分析
  • 杭州西湖区抖音seo方案太原搜索引擎优化招聘信息
  • 网站的二级目录是什么网站友情链接是什么
  • 做游戏网站多少钱产品营销方案策划
  • 兰州做网站多少钱网站免费搭建平台
  • 网站页面分类自己怎么免费做网站网页
  • 系统管家杭州优化商务服务公司