【问题标题】:How do I split a string by character position?如何按字符位置拆分字符串?
【发布时间】: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


【解决方案1】:

试试这个方法....

1.将String值放入StringBuilder

   StringBuilder sb = new StringBuilder(googlelat);

2.使用StringBuilder的insert()方法。

   sb.insert(2,".");

它完成了!对经度尝试相同的方法。

【讨论】:

  • 查看原帖中的 cmets 以获得更简单的方法。
  • 容易与否取决于实施者,它是解决给定问题的一种方法,现在由人来做,或者任何其他方式......谢谢
  • 适合自己。解决问题有一种合乎逻辑的方式,也有一种更合乎逻辑的方式来解决问题。
  • 解决问题的方法有 N 种......我本可以在这里展示所有这些......但这不是提问者所需要的......重点是先解决问题再去优化方法..
  • 答案错了吗!!!如果不是,我认为它不值得否定,否则它是对否定它的人的知识的问号
最近更新 更多