Converting from scientific notation to normal


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Converting from scientific notation to normal
# 1  
Old 02-02-2013
Converting from scientific notation to normal

Hi everyone,

I need to convert some numbers that are written in scientific notation to normal notation.
Here is a sample line from my data file;
Code:
"1",1,-1,0,0,502,0,0.00000000000E+00,0.00000000000E+00,0.35591163544E+03,0.35591163548E+03,0.50400001928E-02,0.,-1.

first of all, my data file is a .csv and not all the numbers are in scientific notation.
the ones that are to be converted
0.35591163544E+03 will be 355.91163544 and
0.00000000000E+00 will simply be 0

I have to do this conversion through out the whole data file.

thanks a lot in advance.
# 2  
Old 02-02-2013
Hi bipi,

thanks again for your help, this works quite good, but what about E- ??
# 3  
Old 02-02-2013
Try this:
Code:
awk -F, ' {
        for(i=1;i<=NF;i++) {
                if($i~/E\+/)
                        $i=sprintf("%.8f",$i);
                if($i=="0.00000000")
                        $i=0;
        }
}1' OFS=, filename

If you want to consider negative as well:
Code:
if(($i~/E\+/)||($i~/E-/))

This User Gave Thanks to Yoda For This Post:
# 4  
Old 02-02-2013
thanks a lot bipi. This works very well Smilie
# 5  
Old 02-02-2013
Alternatively, try:
Code:
awk '{gsub(/"/,x); for(i=1; i<=NF; i++) $i=$i+0}1' CONVFMT="%.8f" FS=, OFS=, file


Last edited by Scrutinizer; 02-02-2013 at 03:15 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Print multiple columns in scientific notation

Hi everybody, I have file 1 with 15 columns, I want to change the formatting of the numbers of columns 10,11 and 12 in the scientific notation. I used the Following script: awk '{print $10}' file1.dat | awk '{printf "%.2e\n", $1}' > file2.dat awk '{print $11}' file1.dat | awk '{printf... (7 Replies)
Discussion started by: supernono06
7 Replies

2. Shell Programming and Scripting

Help with filter result (scientific notation) by using awk

Input file: data1 0.05 data2 1e-14 data1 1e-330 data2 1e-14 data5 2e-60 data5 2e-150 data1 4e-9 Desired output: data2 1e-14 data1 1e-330 data2 1e-14 data5 2e-60 data5 2e-150 I would like to filter out those result that column 2 is less than 1e-10. Command try: (1 Reply)
Discussion started by: cpp_beginner
1 Replies

3. Shell Programming and Scripting

Perl: scientific notation to decimal notation

hello folks, I have few values in a log which are in scientific notation. I am trying to convert into actual decimal format or integer but couldn't able to convert. Values in scientific notation: 1.1662986666666665E-4 2.0946799999999998E-4 3.0741333333333333E-6 5.599999999999999E-7... (2 Replies)
Discussion started by: scriptscript
2 Replies

4. Programming

Reading Scientific notation from file and storing in array

Hi, I am trying to read a set of numbers that are in scientific notation into a file so I can do some math on them, but when I display the array contents the numbers aren't the same as the numbers in the file. Could someone explain why? Thanks. int main() { double fArray; ... (3 Replies)
Discussion started by: Filter500
3 Replies

5. UNIX for Dummies Questions & Answers

Normal format and scientific combined data

hi guys, i have a data with a column of p value (normal format and scientific combined). i want to creat a subset of data which only contains p-value: data 1: p<10^7 data 2: p<0.01 how should i do it? many thanks! data looks like: rs7841347 128887490 1.695e-007 rs1241347 ... (4 Replies)
Discussion started by: forevertl
4 Replies

6. Shell Programming and Scripting

Rounding scientific notation

Hi Friends, I have following 50,000 records in .txt file. I need to round field 3, 4, & 5 to 3 decimal places. 11|A123|-2.64216408856E01|3.64216408856E01|4.64216408856E-01 11|A123|0|-5.64216408856E01|0 11|A123|0|0|0 11|A123|-99999999|-99999999|-99999999... (4 Replies)
Discussion started by: ppat7046
4 Replies

7. UNIX for Dummies Questions & Answers

Conversion of scientific notation

Hello All, Hope all is well, Suppose I have a program that extracted data into a file called: progcros.in. I attached the file but I renamed it progcros.txt. I think that my mess up the column alignment. Anyways, in several columns there are numbers listed, however the numbers... (4 Replies)
Discussion started by: gingburg
4 Replies

8. Shell Programming and Scripting

Bash Scientific Notation

Hello there, I have a script that must be written in bash that has to deal with reading in values from a file (in scientific notation), and requires executing some mathematical operations with them. What is the easiest way to go about doing this/converting it to float to use | bc, etc.? ... (7 Replies)
Discussion started by: amit_57
7 Replies

9. UNIX for Dummies Questions & Answers

How to add/multiply numbers with scientific notation (2.343e-5)

Hi, I'm need to do some addition and multiplication of scientific nottaion numbers, in the form 34.23423e-10 for example. I was echoing the list of numbers to stdout, then using bc -l, then I find that this does not seem to work for numbers with exponential notation. Could someone help me out... (1 Reply)
Discussion started by: chugger06
1 Replies

10. Shell Programming and Scripting

How to Convert scientific notation to normal ?

Hell friends, I wrote a script gets the summation of particular column using awk. The awk output is given in scientific notation. How do I convert the scientific notation to normal. My awk syntax : awk '{sum += $2} END { printf sum }' temprep.txt Out put is like 1.5365e+07 I want it as... (2 Replies)
Discussion started by: maheshsri
2 Replies
Login or Register to Ask a Question