Simple perl help - converting numbers


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Simple perl help - converting numbers
# 1  
Old 08-10-2012
Simple perl help - converting numbers

Hi friends,

I'm very new to perl and got some requirement.
I've input numbers which has size of 17 characters [including +/- sign and .] like below:

Code:
-22500.0000000000
58750.00000000000
4944.000000000000
-900.000000000000
272.0000000000000

I need to convert these numbers from negative to positive and positive to negative. After the conversion again I need to get 17 characters.
After some googling below is the part of the script I've written.

Code:
$num = -22500.0000000000
$num = sprintf("%17f" - $num);

But this is not giving me the desired output. My requirement to the above numbers should be as below:

Code:
22500.00000000000
-58750.0000000000
-4944.00000000000
900.0000000000000
-272.000000000000

Could any one help me please?

Thanks and Regards,
Mysore Ganapati
# 2  
Old 08-10-2012
Try:
Code:
perl -pe 's/^-//&&s/$/0/||s/^/-/&&s/0$//' file


Last edited by bartus11; 08-10-2012 at 08:59 AM..
This User Gave Thanks to bartus11 For This Post:
# 3  
Old 08-10-2012
Thank you for the answer.
But I need to convert the numbers inside the perl script using constants and not on command prompt.
How can I assign the converted values to the constant '$num' as per my example? please inform.


Thanks.
Mysore Ganapati.Smilie
# 4  
Old 08-10-2012
Code:
$num = -22500.0000000000;
if ($num =~ /^-/) {
    $num =~ s/^-//;
    $num =~ s/$/0/;
}
else {
    $num =~ s/^/-/;
    $num =~ s/0$//;
}
print "$num\n";

# 5  
Old 08-11-2012
MySQL

great help, thank you very much for useful information.Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Converting awk to perl

Hello. I'm currently teaching myself Perl and was trying to turn an awk code that I had written into Perl. I have gotten stuck on a particular part and a2p has not helped me at all. The task was to take a .csv file containing a name, assignment type, score and points possible and compute it into a... (1 Reply)
Discussion started by: Eric7giants
1 Replies

2. UNIX for Beginners Questions & Answers

Converting awk to perl

Hello. I'm trying to convert an awk script I wrote to perl (which I just started self-teaching). I tried the a2p command but I couldn't make sense of most of it. Here was the awk code: BEGIN{ FS = "," print "NAME\tLOW\tHIGH\tAVERAGE" a=0 } { if(a==0){ a+=1 (1 Reply)
Discussion started by: Eric7giants
1 Replies

3. Shell Programming and Scripting

Converting shell to Perl I run into shell built in function trap and need alternative in Perl

I am working on converting shell to Perl script. In shell we have built in function trap Do you know alternative in Perl or actually we don't need it? Thanks for contribution (3 Replies)
Discussion started by: digioleg54
3 Replies

4. Shell Programming and Scripting

recoding/ converting numbers

Suppose file1.bim 1 rs1 0 0 G A 1 rs3 0 1 A C 2 rs8 0 0 G A 2 rs2 0 0 T C 3 rs10 0 0 0 T 3 rs11 0 0 T 0 (N*6 table, where N is arbitary,in this case 6, where 2nd column is the name of SNP, and the 5th,6th are genotype data, where 0 means missing information) There is... (9 Replies)
Discussion started by: johnkim0806
9 Replies

5. Shell Programming and Scripting

Help making simple perl or bash script to create a simple matrix

Hello all! This is my first post and I'm very new to programming. I would like help creating a simple perl or bash script that I will be using in my work as a junior bioinformatician. Essentially, I would like to take a tab-delimted or .csv text with 3 columns and write them to a "3D" matrix: ... (16 Replies)
Discussion started by: torchij
16 Replies

6. UNIX for Advanced & Expert Users

problem with converting time using perl

Hello, I have an AIX 5.3 system and i created a script to get the last login of users. The script goes like this: LAST_LOGIN=`lsuser -a time_last_login $cur_user` TIME_LOGIN=`perl -e 'print scalar localtime("$LAST_LOGIN")'` Actually what i do in these two lines is to set a variable... (2 Replies)
Discussion started by: omonoiatis9
2 Replies

7. Shell Programming and Scripting

Converting perl to exe

Hello All, I want to convert .pl to .exe with all include libraries like: WIN32/OLE..... Please suggest me how i will proceed for this.... (7 Replies)
Discussion started by: suvenduperl
7 Replies

8. Shell Programming and Scripting

Converting string to date in perl

Hi, I need convert a date string to date. For eaxmple $last_date=6/2/2009 and I want to change the format of the above mentioned date to "Jun 2 2009 12:00AM". Do we have any functionality or staright method to convert to the desired format? (4 Replies)
Discussion started by: siba.s.nayak
4 Replies

9. Shell Programming and Scripting

Converting Perl code to shell

I have a perl code that runs like Code I sub p { if ($d >= $D) {return} printf "%3s"x$d++," "; printf "%s%s\n",$_,$h{$_}?" ** ":""; if (!$h{$_}) { $h{$_}=1; map {p($_)} @{$s{$_}} } $d-- } ($Set,$Job,$Num,$D) = (@ARGV); map {shift} 0..3; (8 Replies)
Discussion started by: zainravi
8 Replies

10. UNIX for Dummies Questions & Answers

Converting bash shell to perl

Does anyone know how to convert this bash shell script to perl? for i in `ls -l *pgp` do `usr/bin/gpg --passphrase-fd 0 $i < .sunspot` done Thanks! Any help would be appreciated. I'm new to Linux and perl. (4 Replies)
Discussion started by: freak
4 Replies
Login or Register to Ask a Question