Convert floating point to a number


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Convert floating point to a number
# 1  
Old 09-27-2017
Convert floating point to a number

Hello Guys,
I have a floating point number 1.14475E+15 I want to convert this number in to full number (Integer or Big integer). I tried couple of functions it did not work. When I use INT=${FLOAT/.*} I am getting value as 1. I don't want a truncated value

Code:
#!/bin/bash
# Welcome to the Interactive Shell Tutorial.
# Start by choosing a chapter and
# write your code in this window.
FLOAT=1.14475E+15
#INT=${FLOAT/.*}
#INT=${FLOAT/\.*}
S[i] = INT(1.14475E+15)
echo $S[i]

Thanks

Last edited by RudiC; 09-27-2017 at 05:38 PM..
# 2  
Old 09-27-2017
Okay, you've showed us what you don't want, but I can't tell what you do want. What would a "good" result look like?

Shell does not understand floating point numbers. You'll have to pipe it into bc or awk or some other program/tool/language which does.

There are a lot of syntax errors in your code, also. You can't do X = value you have to do X=value Also there is no INT( ) function in bash. Besides which, functions don't even work that way in bash.

Last edited by Corona688; 09-27-2017 at 04:54 PM..
# 3  
Old 09-27-2017
Quote:
Originally Posted by Corona688
Okay, you've showed us what you don't want, but I can't tell what you do want. What would a "good" result look like?

Shell does not understand floating point numbers. You'll have to pipe it into bc or awk or some other program/tool/language which does.

There are a lot of syntax errors in your code, also. You can't do X = value you have to do X=value Also there is no INT( ) function in bash. Besides which, functions don't even work that way in bash.
Thank you for the reply. I want to know what is the total number like 1,144,750,000,000,000. I do not know what the right value.. but some thing like that.
# 4  
Old 09-27-2017
Code:
$ echo "1.14475E+15" | awk '{ V=$1+0 ; printf("%.0f\n", V); }'
1144750000000000

$ V=$( echo "1.14475E+15" | awk '{ V=$1+0 ; printf("%.0f\n", V); }' )

$ echo $V
1144750000000000

$

# 5  
Old 09-27-2017
Code:
awk 'BEGIN {printf "%.f\n", "1.14475E+15"}'
1144750000000000

This User Gave Thanks to RudiC For This Post:
# 6  
Old 09-27-2017
There is also a printf command
Code:
FLOAT=1.14475E+15
INT=$(printf "%.f" "$FLOAT")
echo $INT

This User Gave Thanks to MadeInGermany For This Post:
# 7  
Old 09-28-2017
Hi.
Quote:
Originally Posted by skatpally
I want to know what is the total number like 1,144,750,000,000,000.
If you have a utility such as some of the results for a Google search like commify comma insertion linux OR unix you could use:
Code:
$ commify $(printf "%.f" "$FLOAT")
1,144,750,000,000,000

With a system like:
Code:
OS, ker|rel, machine: Linux, 3.16.0-4-amd64, x86_64
Distribution        : Debian 8.9 (jessie) 
bash GNU bash 4.3.30
commify - ( local: RepRev 1.3, ~/bin/commify, 2014-10-09 )

Best wishes ... cheers, drl
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script to print the smallest floating point number in a row that is not 0

Hello, I have often found bash to be difficult when it comes to floating point numbers. I have data with rows of tab delimited floating point numbers. I need to find the smallest number in each row that is not 0.0. Numbers can be negative and they do not come in any particular order for a given... (9 Replies)
Discussion started by: LMHmedchem
9 Replies

2. Shell Programming and Scripting

[BASH] Regex for floating point number

Hey again, I have a basic regex that tests if a number is a float. Thank you. (5 Replies)
Discussion started by: whyte_rhyno
5 Replies

3. Programming

Floating Point

Anyone help me i cant found the error of floating point if needed, i added the code complete #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> typedef struct { int hh; int mm; int ss; char nom; int punt; }cancion; typedef struct... (9 Replies)
Discussion started by: Slasho
9 Replies

4. Shell Programming and Scripting

problem with floating point number loops

Hey, I guess I am just to stupid and am not seeing the "wood for the trees", but I am always getting strange errors. I want to create a mesh with coordinates like: x y z 3.1 3.0 0.75 0 0 1 3.1 2.9 0.75 0 0 1 3.1 2.8 0.75 0 0 1 3.1 2.7 0.75 0 0 1 3.0 ... (10 Replies)
Discussion started by: ergy1983
10 Replies

5. Shell Programming and Scripting

floating point number problem

Hello folks I Hope everyone is fine. I am calculating number of bytes calculation from apache web log. awk '{ sum += $10 } END { print sum }' /var/httpd/log/mydomain.log 7.45557e+09 it show above number, what should i do it sow number like 7455, i mean if after decimal point above 5 it... (5 Replies)
Discussion started by: learnbash
5 Replies

6. Shell Programming and Scripting

using bc with floating point number in files

Hi, I' using bash and I would like to use "bc" to compute the ratio of of two numbers and assign the ratio to a variable. The numbers are in a file, e.g. 196.304492 615.348986 Any idea how to do it? N.B. I cannot change the file to have 196.304492 / 615.348986 as the file is produced by... (14 Replies)
Discussion started by: f_o_555
14 Replies

7. Linux

Floating point exception !!!

Hi, I have linux fedora 4 ver., 2.6 kernal. And qmail & mysql & samba servers are already configured on this server. When I try to install any package like squidguard ,dansguardian,webmin,rsnapshots with command rpm -ivh . It is giving error as “Floating point exception" Snap View is... (3 Replies)
Discussion started by: ssk01
3 Replies

8. Programming

Floating point error in C

Hi, see the simple code below double i; i=8080.9940; printf(" val :%.30f\n",i); output i m getting is val :8080.993999999999700000000000000 when i m expecting val :8080.9940 what happens?how can i avoid it? thanks... (2 Replies)
Discussion started by: Hara
2 Replies

9. Programming

floating point problem

Hi all! Hi all! I am working with a problem to find the smallest floating point number that can be represented. I am going in a loop ,stating with an initial value of 1.0 and then diving it by 10 each time thru the loop. So the first time I am getting o.1 which I wanted.But from the next... (4 Replies)
Discussion started by: vijlak
4 Replies

10. Shell Programming and Scripting

floating point addition

hi, :) I have a file like this 10.456 123.567 456.876 234.987 ........ ....... What i want to do is ia have to add all those numbers and put the result in some other file. Any help pls. cheers RRK (8 Replies)
Discussion started by: ravi raj kumar
8 Replies
Login or Register to Ask a Question