博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串转double算法
阅读量:6443 次
发布时间:2019-06-23

本文共 736 字,大约阅读时间需要 2 分钟。

hot3.png

package string/** * 字符串转double */fun main(args: Array
) { println(strToDouble("5.0")) println(strToDouble(".0")) println(strToDouble("1.")) println(strToDouble("1.556"))}fun strToDouble(str: String): Double { var regex = Regex("[0-9]+(\\.[0-9]+){0,1}")//正则[0-9] 后面如果有就必须是 .[0-9]+或者没有 if (!regex.matches(str)) { return 0.0 } //先求最大位 var maxCarry = str.indexOf(".") - 1 var result = 0.0 var charArray = str.toCharArray() //for循环cha数组,只要不是".", 就 值 * 10的carry次方 for (ch in charArray) { if (ch != '.') { result += Math.pow(10.0, maxCarry.toDouble()) * (ch - '0') maxCarry-- } } return result}

转载于:https://my.oschina.net/sfshine/blog/2933896

你可能感兴趣的文章
明年计划
查看>>
ORACLE功能GREATEST功能说明具体实例
查看>>
unity, particle play once and destroy
查看>>
hadoop job解决大数据量关联时数据倾斜的一种办法
查看>>
windows配置nginx实现负载均衡集群
查看>>
摄像机知识
查看>>
小tip:纯CSS让overflow:auto页面滚动条出现时不跳动
查看>>
Linq Like
查看>>
Linux知识积累(4) Linux下chkconfig命令详解
查看>>
centos关机与重启命令
查看>>
[Eth]Mac/Phy/mdio/Rgmii
查看>>
C++中的函数指针和函数对象总结
查看>>
ELK学习总结(3-2)elk的过滤查询
查看>>
快速定位oracle故障-恩墨
查看>>
Redis可视化工具 Redis Desktop Manager
查看>>
Go基础系列:为select设置超时时间
查看>>
Android网络请求之OkHttp框架
查看>>
《Apache Kafka实战》读书笔记-调优Kafka集群
查看>>
小程序开发事项
查看>>
福利 | 2018各大技术大会资料汇总(可下载)
查看>>