【问题标题】:How to convert string to long [duplicate]如何将字符串转换为长[重复]
【发布时间】:2012-04-13 18:21:53
【问题描述】:

如何将字符串转换为长字符串。

为了你

int i = 3423;
String str;
str = str.valueOf(i);

那么你怎么走另一条路,但很长。

long lg;
String Str = "1333073704000"
lg = lg.valueOf(Str);

【问题讨论】:

标签: java android string converter long-integer


【解决方案1】:

这是一种常用的方法:

long l = Long.parseLong(str);

还有这个方法:Long.valueOf(str); 区别在于parseLong 返回一个原始longvalueOf 返回一个new Long() 对象。

【讨论】:

  • 谢谢。根据link,我被困在 lg.getLong 上
  • getLong 从系统属性返回一个 long。这就是为什么它不能按预期工作的原因。
  • 很容易误以为输入的字符串是你期望的形式; “90.77”将抛出 ParseException 。所以不要忽略 ParseException,而是为您的用例处理它
【解决方案2】:

字符串转长的方法是Long.parseLong。修改你的例子:

String s = "1333073704000";
long l = Long.parseLong(s);
// Now l = 1333073704000

【讨论】:

    【解决方案3】:

    如果您的输入是字符串,那么我建议您将字符串存储为双精度,然后将双精度转换为长整数。

    String str = "123.45";
    Double  a = Double.parseDouble(str);
    
    long b = Math.round(a);
    

    【讨论】:

    • 你能否补充一下为什么你认为这比简单地打电话给parseLong()更好?
    【解决方案4】:
    String s = "1";
    
    try {
       long l = Long.parseLong(s);       
    } catch (NumberFormatException e) {
       System.out.println("NumberFormatException: " + e.getMessage());
    }
    

    【讨论】:

      【解决方案5】:

      你也可以试试关注,

      long lg;
      String Str = "1333073704000"
      lg = Long.parseLong(Str);
      

      【讨论】:

        【解决方案6】:
        import org.apache.commons.lang.math.NumberUtils;
        

        这将处理null

        NumberUtils.createLong(String)
        

        【讨论】:

          【解决方案7】:

          这样做:

          long l = Long.parseLong(str);
          

          但是,请始终检查 str 是否包含数字以防止引发异常。 例如:

          String str="ABCDE";
          long l = Long.parseLong(str);
          

          会抛出异常,但是这个

          String str="1234567";
          long l = Long.parseLong(str);
          

          不会。

          【讨论】:

            【解决方案8】:

            使用parseLong(),例如:

            long lg = lg.parseLong("123456789123456789");
            

            【讨论】:

              猜你喜欢
              • 2014-04-13
              • 2012-07-30
              • 2015-12-03
              • 2010-12-23
              • 2020-07-23
              • 1970-01-01
              • 2014-06-15
              • 1970-01-01
              相关资源
              最近更新 更多