Java Long.parseLong(CharSequence, int, int, int)方法

原文:https://www.studytonight.com/java-wrapper-class/java-long-parselong-charsequence-int-method

Java parseLong(CharSequence s, int beginText, int endText, int radix)方法是java.lang包的Long类的一部分。在根据从传递的起始索引开始并扩展到传递的(结束索引- 1)的整数基数值分析传递的字符序列后,此方法返回有符号的长等价物。

语法:

public static long parseLong(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException

参数:

传递的参数是:

CharSequence s:需要解析的字符序列。

int beginIndex:开始解析的字符序列的索引。

int endIndex:字符序列的索引,直到解析将扩展到的地方。

int radix:传递字符序列所依据的整数值。

返回:

根据从开始索引开始并延伸到结束索引-1 的整数基数,返回解析字符序列后获得的等效长值。

例外:

NullPointerException:当输入字符为空时,出现此异常。

NumberFormatException : 当输入字符序列不可解析时,出现此异常。

IndexOutOfBoundsException:当开始索引为负或者开始索引值大于结束索引值或者结束索引值大于s.length()时,出现此异常。

例 1:

这里,在这个例子中,被解析的字符序列的有符号长值被返回。

import java.lang.Long;

public class StudyTonight
{  
    public static void main(String[] args)throws NumberFormatException 
    { 
        CharSequence s1 = "332";
        CharSequence s2 = "-442";
        int radix = 8;  
        //returns the signed long value of the entered string in accordance with the radix and beginning and end index

        long res1 = Long.parseLong(s1, 0,1,radix);
        System.out.println(res1); 

        long res2 = Long.parseInt(s2,0,2,radix);
        System.out.println(res2);  

    }          
}

3 -4

例 2:

这里有一个用户定义的例子,任何使用这段代码的人都可以输入自己选择的值,并获得等效的输出。

import java.lang.Long;
import java.util.Scanner;

public class StudyTonight
{  
    public static void main(String[] args)
    { 
        try
        {
            System.out.println("Enter value");
            Scanner sc = new Scanner(System.in);

            CharSequence s1 = sc.nextLine();
            System.out.println("Enter radix");
            int radix = sc.nextInt();
            System.out.println("Enter start index");
            int si =sc.nextInt();
            System.out.println("Enter end index");
            int ei = sc.nextInt();
            //returns the signed Long value of the entered string in accordance with the radix and beginning and end index

            long res1 = Long.parseLong(s1,si,ei,radix);
            System.out.println(res1); 
        }  
        catch(Exception e)
        {
            System.out.println("Cannot parse this value");
        }   
    }         
}

输入数值 543 输入基数 8 输入起始索引 0 输入结束索引 2 44

                                      • T10】输入数值 6767 输入基数 16 输入起始索引 0 输入结束索引 3 1654