Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Prodentim Probiotics Specially Designed For The Health Of Your Teeth And Gums

Instant Grammar Checker - Correct all grammar errors and enhance your writing

Teach Your Child To Read

Powerful WordPress hosting for WordPress professionals

Disclosure: My content contains affiliate links.

31,166 questions

40,722 answers

573 users

How to check if a given string is a valid BigDecimal in Java

1 Answer

0 votes
import java.math.BigDecimal;

public class MyClass {
    public static void main(String args[]) {
        String s1 = "8217528938039999999999982734590087211199382724324131999999999372732342342928727231421289.348686"; 
        String s2 = "99999999999999999999999289380398273459009393837372827846462323998923842908472984729839199999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990982374121"; 
        String s3 = "821752893803999999999998273459008721119938272432413e9999999"; 

        // Theoretical there is no limit for BigDecimal. BigDecimal allocates as much memory as it needs
        
        try 
        { 
            new BigDecimal(s1); 
            System.out.println(s1 + " is a valid BigDecimal"); 
        }  
        catch (NumberFormatException e)  
        { 
            System.out.println(s1 + " is not a valid BigDecimal"); 
            System.out.println(e);
        } 
          
        try 
        { 
            new BigDecimal(s2);
            System.out.println(s2 + " is a valid BigDecimal"); 
        }  
        catch (NumberFormatException e) 
        { 
            System.out.println(s2 + " is not a valid BigDecimal");
            System.out.println(e);
        } 
        
        try 
        { 
            new BigDecimal(s3);
            System.out.println(s3 + " is a valid BigDecimal"); 
        }  
        catch (NumberFormatException e) 
        { 
            System.out.println(s3 + " is not a valid BigDecimal");
            System.out.println(e);
        } 
    }
}



/*
run:

8217528938039999999999982734590087211199382724324131999999999372732342342928727231421289.348686 is a valid BigDecimal
99999999999999999999999289380398273459009393837372827846462323998923842908472984729839199999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990982374121 is a valid BigDecimal
821752893803999999999998273459008721119938272432413e9999999 is a valid BigDecimal

*/

 





answered Aug 20, 2019 by avibootz

Related questions

1 answer 101 views
1 answer 89 views
1 answer 79 views
4 answers 67 views
1 answer 74 views
...