function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Surender reddy SalukutiSurender reddy Salukuti 

How we can get only integer value and only Decimal value from string

Hi all,

I have one requirement i want to get only integer values and only Decimal values from string 

Eg :
string str = 'Commercial-(Aug)Quoted-Count300Premium - 250.00-Sarah Orosc';
from hear i want only integer value 300 

string str 2= 'Commercial-(Aug)Quoted-Count500Premium - 350.00-Sarah Orosc';

from hear i want only Decimal value 350.00
i am trying with one solution 

String numberOnly = str2.replaceAll('[^0-9]', '');or 
String numberOnly = str.1replaceAll('[^0-9]', '');
by using above conditions i am getting integer and Decimal values 

Please me on this any one 

Thank you, 

Surender Reddy


 

CharuDuttCharuDutt
Hii Surender Reddy
Try Below Code
String invalidNumbers = '[^0-9.]';  
list<String> str = new list<String>{'(Aug)NB-Premium 350.00 Sarah Orosco','(Aug)NB-Premium 3500 Sarah Orosco'};  
for(String s : str){
system.debug( 'Only numbers - ' + s.replaceAll( invalidNumbers, '' ) );  
}
Please Mark It As Best Answer If It Helps
Thank You!

 
mukesh guptamukesh gupta
Hi Surender,

Please use below tested code:-
 
string str1 = 'Commercial-(Aug)Quoted-Count300Premium - 250.00-Sarah Orosc';
string str2= 'Commercial-(Aug)Quoted-Count500Premium - 350.00-Sarah Orosc';

String regex = '[a-zA-Z()]{1,}|\\-';
String recordNumber1 = str1.replaceAll(regex, '');
String[] val1 = recordNumber1.split(' ');
System.debug('val1==> '+val1[0]);

String recordNumber2 = str2.replaceAll(regex, '');
String[] val2 = recordNumber2.split(' ');
System.debug('val2==> '+val2[0]);

if you need any assistanse, Please let me know!!

Kindly mark my solution as the best answer if it helps you.

Thanks
Mukesh 
Surender reddy SalukutiSurender reddy Salukuti
Hi mukesh , Thanks for your help by using your logic i am getting integer value . but i have another scenario string str2= 'Commercial-(Aug)Quoted-Count500Premium - 350.00-Sarah Orosc'; in the above string I need only Decimal value (i.e.350.00) how can I get it please help me on this . Thanks surender Reddy
mukesh guptamukesh gupta
Hi Surender,

Please use tested code:- 
 
string str1 = 'Commercial-(Aug)Quoted-Count300Premium - 250.00-Sarah Orosc';
string str2= 'Commercial-(Aug)Quoted-Count500Premium - 350.00-Sarah Orosc';

String regex = '[a-zA-Z()]{1,}|\\-';
String recordNumber1 = str1.replaceAll(regex, '');
String[] val1 = recordNumber1.split(' ');
System.debug('val1==> '+val1[0] + 'val1==> '+val1[2]);

String recordNumber2 = str2.replaceAll(regex, '');
String[] val2 = recordNumber2.split(' ');
System.debug('val2==> '+val2[0] + 'val2==> '+val2[2]);

if you need any assistanse, Please let me know!!

Kindly mark my solution as the best answer if it helps you.

Thanks
Mukesh