Visit Our UNIX and Linux User Community


Assigning a shell variable as a float


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Assigning a shell variable as a float
# 1  
Old 09-13-2002
Bug Assigning a shell variable as a float

I'm confused as to how to handle floating point numbers in shell scripts. Is there a way to convert a number (string) read into a shell variable so that it can be used as a floating point decimal for calculation purposes? Or am I stuck with integrating C or Perl into my script?

Ex:

--input

read Number1 --number entered for example is .20
read Number2 --number entered for example is .30

Total

--or--

let Total=$Number1 + $Number2 --which I know only works for integers.

--output

printf "%0.2f" $Total=$Number1 + $Number2

I essentially want a total of two decimal numbers that have been read from the command line (i.e. .20+.30=.50 or Total), but printf will not compute the calculation as I have it coded. I'm at a loss...

Any insight would be appreciated,

--S

Last edited by spieterman; 09-16-2002 at 10:09 AM..
# 2  
Old 09-13-2002
try eval in your exprestion.
# 3  
Old 09-13-2002
ksh93 has support for floating point. The more common ksh88 does not. I don't think that any other shell supports floating point, but maybe I'm wrong about that.

If you don't have ksh93, you can use bc like this:

x=`echo 1.23 + .90 | bc`
echo $x

With ksh, you can even set up bc as a coprocess and then do many calculation with one instance of bc running. But with other shells, the above is all there is.
# 4  
Old 09-16-2002
MySQL

Thanks much!

The piped bc command worked like a charm!

--S

Previous Thread | Next Thread
Test Your Knowledge in Computers #958
Difficulty: Hard
Metamorphism protects a virus against heuristic analysis.
True or False?

10 More Discussions You Might Find Interesting

1. Solaris

Assigning an expression to a variable in shell script

i am trying to assign the following expression to a variable in Unix shell script and want to use that variable in some other expression. But unable to get the required thing done. Please help with this.... This is the expression which i want to provide as input the variable date '+%y:%m:%d' |... (3 Replies)
Discussion started by: ssk250
3 Replies

2. Shell Programming and Scripting

[Solved] Assigning Shell variable

Hello, Need a small help to execute below script. #!/bin/bash . new.txt for no in 3 4 do echo $((uname_$no)) done new.txt contains uname_1="XXXXXX" uname_2="YYYYY" uname_3="ZZZZZ" ......... (6 Replies)
Discussion started by: prasanna2166
6 Replies

3. Shell Programming and Scripting

Can't assign float value into another variable

hello I have write one script which calculate result of student and takes input from file named "student.txt". This file has filed name rollno, name, mark1,mark2 and mark3. My problem is that i want percentage with 2 floating point. I have write whole shell script but it can't work. Code is... (2 Replies)
Discussion started by: csharpque
2 Replies

4. Shell Programming and Scripting

assigning fields variables value to shell variable

suppose I have a file named abc.txt.The contents of the file is sited below abc.txt maitree,test,test3 Using awk command can I store these 3 values in 3 different variable and in one single line command of awk. suppose variable a b c is there. I don't want like this a=`awk -F"," '{print... (2 Replies)
Discussion started by: maitree
2 Replies

5. Shell Programming and Scripting

Assigning return value of an embedded SQL in a shell script variable

I've a script of the following form calling a simple sql that counts the no of rows as based on some conditions. I want the count returned by the sql to get assigned to the variable sql_ret_val1. However I'm finding that this var is always getting assigned a value of 0. I have verified by executing... (1 Reply)
Discussion started by: MxC
1 Replies

6. Shell Programming and Scripting

Assigning value of SQL output to a variable in shell scripting

I am trying to assgn the output of the select statement to a variable, like this "VARIABLE_NAME=$ db2 "select COLUMN_NAME_1 from TABLE_NAME where COLUMN_NAME_2='VALUE_TO_CHECK'"; " but the value that is getting into VARIABLE_NAME is "COLUMN_NAME_1 ----------------- VALUE 1... (3 Replies)
Discussion started by: sgmini
3 Replies

7. Shell Programming and Scripting

Assigning variable from command outputs to shell

First, this is bash (3.2.17), on a Mac, 10.5.7. What I'm trying to do is look at a list of users, and check to see if each exists. If they do, do some more stuff, if they don't, drop them into an error file. So, my user list is: foo - exists bar - does not exist blah - does not exist ... (2 Replies)
Discussion started by: staze
2 Replies

8. Shell Programming and Scripting

Assigning output of command to a variable in shell

hi, I want to assign find command result into some temporary variable: jarPath= find /opt/lotus/notes/ -name $jarFile cho "the jar path $jarPath" where jarPath is temporary variable. Can anybody help on this. Thanks in advance ----Sankar (6 Replies)
Discussion started by: sankar reddy
6 Replies

9. Shell Programming and Scripting

assigning nawk output to shell variable

Hello friends, I doing the follwing script , but found problem to store it to a shell variable. #! /bin/sh for temp in `find ./dat/vector/ -name '*.file'` do echo $temp nawk -v temp=$temp 'BEGIN{ split(temp, a,"\/"); print a}' done output: ./dat/vector/drf_all_002.file... (6 Replies)
Discussion started by: user_prady
6 Replies

10. Shell Programming and Scripting

assigning command output to a shell variable

I have the sql file cde.sql with the below contents: abcdefghij abcwhendefothers sdfghj when no one else when others wwhen%others exception when others Now I want to search for the strings containing when others together and ceck whether that does not occur more than once in the... (2 Replies)
Discussion started by: kprattip
2 Replies

Featured Tech Videos