zoukankan      html  css  js  c++  java
  • 字符串转数字(with Java)

    1. 字符串中提取数字

    两个函数可以帮助我们从字符串中提取数字(整型、浮点型、字符型...)。

    • parseInt()、parseFloat()...
    • valueOf() 
      String str = "1230";
        int d = Integer.parseInt(str); //静态函数直接通过类名调用,返回int型
     //or
     int d3 = Integer.valueOf("1230"); //通过静态函数valueOf返回包装类Integer类型
     System.out.println("digit3: " + d3);

    注意:从字符串中提取可能会产生一种常见的异常: NumberFormatException。

    原因主要有两种:

    • Input string contains non-numeric characters. (比如含有字母"123aB")

    • Value out of range.(比如Byte.parseByte("128") byte的数值范围在 -128~127)

    解决方法:

      通过 try-catch-block 提前捕捉潜在异常。

     try {
                  float d2 = Float.parseFloat(str);
                  System.out.printf("digit2: %.2f ", d2 );
              } catch (NumberFormatException e){
                  System.out.println("Non-numerical string only.");
          }
      
    try {
                 byte d4 = Byte.parseByte(str);
                 System.out.println("digit3: " + d4);
             } catch (NumberFormatException e) {
                 System.out.println("
    Value out of range. It can not convert to digits.");
             }            

    2. 数字转字符串

    使用 String 类的 valueOf() 函数

     String s = String.valueOf(d); 

    3. 代码

    public class StringToDigit {
        public static void main(String[] args) {
    
            //convert string to digits using parseInt()、parseFloat()...
            String str = "127";
            int d = Integer.parseInt(str);
            System.out.printf("d: %d ", d);
    
            try {
                float d2 = Float.parseFloat(str);
                System.out.printf("digit2: %.2f ", d2 );
            } catch (NumberFormatException e){
                System.out.println("Non-numerical string only.");
            }
         
    
            //or using valueOf()
            int d3 = Integer.valueOf("1230");
            System.out.println("digit3: " + d3);
    
            try {
                byte d4 = Byte.parseByte(str);
                System.out.println("digit3: " + d4);
            } catch (NumberFormatException e) {
                System.out.println("
    Value out of range. It can not convert to digits.");
            }
    
            //convert digits to string using valueOf()
            System.out.println(String.valueOf(d));
            System.out.println(String.valueOf(d3));
        }
    }
    

      

     加油各位!如果觉得有用的话,可以点个推荐吗?(祈求脸.jpg) 

  • 相关阅读:
    fetch的使用--当无法判断后台返回数据为什么类型时如何操作
    单页面与多页面间的区别及优缺点
    关于倒计时在关屏后不准确的问题
    前端分页仿百度分页效果
    pc端的弹性布局适配方案
    前端性能优化方向
    居民身份证号码组成规则
    axios简单介绍
    es6 promise 简单总结
    js原型链和原型链的继承
  • 原文地址:https://www.cnblogs.com/sheepcore/p/11601796.html
Copyright © 2011-2022 走看看