网上有说法直接使用(int)强转鈈就行了,但是Double
表示的范围比int
表示的范围要大;所以强转不是最佳的选择;正则匹配才是;
正则表达式-?(\\d+)(\\.*)(\\d*)
这里使用了分组功能。每个括号為一组;
在匹配到的情况下可以使用group(1)
来获取第一个分组—-也就是整数部分的数字;
再判断是否为0
,是 就保留有效位否 就保留小数位;
嘟是数学问题,数学很重要!
这个方法的主要功能就是 整数为0就保留有效位整数部分不为0就保留小数位