软件测试第四周——String 转 int

Java 中 String转int有两种常用方法:

    第一种方法:i=Integer.parseInt(str);
    第二种方法:i=Integer.valueOf(str).intValue();

以上两种方法都可以实现string转int,但两者有一点区别,第一种方法直接使用的String类型的静态方法,第二种方法会多产生一个对象。但两者都会抛出异常。

下面说一下使用parseint(str),str不是数字时抛出异常解决方案:

  第一种,使用try catch 将 parseint()包起来,自己接受exception信息,并实现解决方案。

    e.g.

      try{

        Integer i = Integer.parseint(str);

      }

      catch(Exception e)

      {

        System.out.println("transition failure")

      }

  第二种,使用正则表达式过滤   e.g.
      public static void main(String args[]){         String s="12345a";         boolean b=s.matches("[0-9]*");         if(b) {            int i=Integer.parseInt(s);            System.out.println(i);         }        else{            System.out.println("输入的数字有误!");         }       } 
  第三种:写成函数,对string进行判断,调用jave自带的判断是否是数字的函数,还可增加可读性    e.g.      for(int i = 0; i < str.length(); i++){        if(!character.isDigit(str.charAt(i))){          return false;        }      }

  最后,有时候读入string是需要去除前后空格,不然抛出异常,这时候我们使用 string.trim("")函数可以去除字符串首末的空白。
时间: 2024-12-08 13:26:17

软件测试第四周——String 转 int的相关文章

软件测试第四周--关于int.parse()的类型转换问题

先来归纳一下我们用过的所有类型转换方法: 1. 隐式类型转换,即使用(int) 直接进行强制类型转换.这种方法的优点是简单粗暴,直接指定转换类型,没有任何保护措施,所以也很容易抛出异常导致程序崩溃.当我们将int类型转成 long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需要使用显式转换,否则会产生编译 错误. 2.int.Parse()是一种类容转换:表示将数字内容的字符串转为int类型. 如果字符串为空,则抛出ArgumentNu

Java中String转int型的方法以及错误处理

应要求,本周制作了一个判断一个年份是否是闰年的程序.逻辑很简单,这里就不贴代码了.可是,在这次程序编写中发现了一个问题. 在输入年份时,如果输入1)字母2)空3)超过Int上限时,就会抛exception. 问题出在String转Int型时. 首先,在java中String转换为Int主要有两种方法 1.Integer.parseInt(s) 2.Integer.valueOf(s).intValue(); 这两种方法略有不同,之后再跟大家分析. 首先我使用第一种方法,当测试数据为正常的年份时,

软件测试第四周作业 WordCount优化

Github地址 https://github.com/husterC/WordCountGroupwork PSP表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划     · Estimate · 估计这个任务需要多少时间 540  780 Development 开发     · Analysis · 需求分析 (包括学习新技术)  60  120 · Design Spec · 生成设计文档  30  10 · Design Review ·

类型转换之string变int

int.parse()函数是将字符串类型转换成int类型. 使用int.parse()不当,可能会抛出异常,分为以下三种: System.ArgumentNullException,即被转换的字符串的内容为Null; System.FormatException,字符串的内容不是数字: System.OverflowException,字符串在转换后不在int类型的可表示范围内,造成溢出. 所以使用int.parse()来进行转换是很容易受到限制的,一般如果能确定被转换字符串的内容,只是进行简单

C++ - string类型转换int类型

string类型转换int类型 本文地址: http://blog.csdn.net/caroline_wendy C语言转换形式: ... std::string str; int i = atoi(str.c_str()); ... C++转换形式(C++11): ... std::string str; int i = std::stoi(str); ... 同样, 可以使用 stol(long), stof(float), stod(double) 等. 参考: http://en.cp

Swift入门(九)——String与Int、Double、Float等数字相互转换

三种转换模式 任何语言里面,Int.float.double等数字类型自成一派,但它们和String类型之间的转换总是不太方便,这里总结一下它们相互转换的方法.总结下来一共有三种转换模式,分别举例说明. 一.String转数字 这里以String类型转Int类型为例.String转其他的数字类型(Float.Double等)大同小异.主要用到的方法是String类型的toInt方法.注意这个方法返回的是Int?,即一个整数可选类型.所以需要解封. var string = "1234"

java中字符串String 转 int(转)

java中字符串String 转 int String -> int s="12345"; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法:i=Integer.valueOf(s).intValue(); 这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢? int -> String int i=12345; String s=""; 第一种方法:s=i+""; 第二种方法:s=

char*,string,float,int 转换

char* 转 float: double atof (const char* str); /* atof example: sine calculator */ #include <stdio.h> /* printf, fgets */ #include <stdlib.h> /* atof */ #include <math.h> /* sin */ int main () { double n,m; double pi=3.1415926535; char bu

Js String转Int(Number与parseInt的区别)

<script>     var   str='1250' ;  alert( Number(str) );  //得到1250 alert(parseInt(str));  //得到1250 var str1='00100'; alert( Number(str1) );  //得到100 alert(parseInt(str1));  //得到64 发现parseInt方法在format'00'开头的数字时会当作2进制转10进制的方法进行转换,所以建议string转int最好用Number