【发布时间】:2012-08-04 04:42:26
【问题描述】:
我想拆分两个数字字符串 12345678 和 -12345678,以便在每个实例的前两个整数之后插入一个小数点。这就是我目前正在使用的..
String googlelat = String.valueOf((int) (location.getLatitude()*1E6)); //<-- equals 12345678
if (googlelat.length() <= 8 ){
//split after second integer
//insert decimal
//make string 12.345678
}
String googlelon = String.valueOf((int) (location.getLongitude()*1E6)); //<-- equals -12345678
if (googlelon.length() > 8 ){
//split after third character
//insert decimal
//make string -12.345678
}
【问题讨论】:
-
我认为你没有走上正轨。如果要更改小数位,请将值保留为浮点形式并使用除法/乘法。如果您想将数字格式化为字符串,有更好的方法来做到这一点。
-
在调用
String.valueOf之前,您是否考虑过不乘以1E6? -
@super_ 不乘以 *1E6 只会让我得到前两个整数 12 而不是 123456678 和 -12 而不是 -123455678。我需要整个号码以备将来使用。
-
停止投射到
int然后...存在String.valueOf(double) 方法。这是将浮点数转换为整数的副作用,即截断。 -
@super_ 哇。这很简单。谢谢!
标签: java android string split character