zoukankan      html  css  js  c++  java
  • interger.parseint(x)和(int)浅析

    看如下代码。

    class test02
    {
    public static void main(String[] args)
    {
    char  s2='a';
    String s1="12";
    double x=Double.parseDouble(s1);
    int y=(int)s2;//Integer.parseInt(s2);
    System.out.println(x+y);
    }
    }

    结果是109.0
    如果使用Integer.parseInt(s2);
    却会报错

    但是下面的代码
    class test02
    {
    public static void main(String[] args)
    {
    String s1="0.5",s2="12";
    double x=Double.parseDouble(s1);
    int y=Integer.parseInt(s2);//(int)s2;
    System.out.println(x+y);
    }
    }
    输出结果是12.5 使用(int)就会报错这是为什么呢


    首先我们来看看parseint()的参数是怎么定义的

    static int parseInt(String s) 
              将字符串参数作为有符号的十进制整数进行分析。 
    static int parseInt(String s, int radix) 
              使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

    所以chars是字符型不能够用parseint()方法。

    然而大家不是问(int)x怎么可以把一个不是本身就不是Int的数据强制转为Int呢,在java中char是可以强制转为int的,转过来是ASCII   比如a就是97

    而第二个本来就是string所以直接interger.parseint成int就好了

  • 相关阅读:
    判断DataSet为空
    msxml3.dll 错误 '800c0008'
    google Map api地理位置坐标转换
    C# .net中cookie值为中文时的乱码解决方法
    windows pear 安装
    smarty2 设置、变量、函数
    简单模板类
    mysql 1366 插入错误
    Oracle修改账户口令
    C# Winform验证码
  • 原文地址:https://www.cnblogs.com/zhuzihan/p/8993768.html
Copyright © 2011-2022 走看看