03-14-2009
SH if statement using FLOAT values
Today I spent longer than I'd like to admit figuring out how to write a Bourne shell IF statement that tests a FLOAT value before executing a block of statements. Here's the solution I found, which invokes bc. Hope this will come in handy for someone:
value = [some floating point number]
testval = [some floating point number]
if [ `echo "if($value > $testval) 1; if($value <= $testval) 0" | bc` -eq 1 ]
then
body of if statement
fi
--Steve
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am trying to set up a variable based on the name of the file.
function script_name {
if
then
job_name='MONITOR'
return job_name;
elsif
then
job_name='VERSION'
return job_name
fi
}
for i in `ls *log`
do
script_name $i
done. (4 Replies)
Discussion started by: oracle8
4 Replies
2. Shell Programming and Scripting
I am trying to compare 2 float values using if
the foll code does not work
a=1.4
b=1.6
if test $a -gt $b
then
echo "$a is max"
else
echo "$b is max"
fi
does -gt work for floating point numbers, if not how do go about for my requirement? can i use bc ? pls help
thanks in advance... (2 Replies)
Discussion started by: kavitha
2 Replies
3. UNIX for Dummies Questions & Answers
Hi
I know its a dumb question but can any one please explain me the difference of executing a shell script in the following 2 ways.
. script.sh
sh script.sh
I have a problem if I execute the following code as sh script.sh
DB_CNT_ALW=0.20
SCT_VAR=0.05
if ; then
echo "== Difference... (3 Replies)
Discussion started by: shash
3 Replies
4. Programming
Good morning,
I'm testing the use of ceilf:
/*Filename: str.c*/
#include <stdio.h>
#include <math.h>
int main (void)
{
float ceilf(float x);
int dev=3, result=0;
float tmp = 3.444f;
printf("Result: %f\n",ceilf(tmp));
return 0;
} (1 Reply)
Discussion started by: jonas.gabriel
1 Replies
5. Shell Programming and Scripting
Hi I am new to shell scripting and trying to get values from a text file,
I have a text file with values seperated with "|". like
aga|120220090525|120220090525|120220090525|120220090530
bab|120220090530|120220090530|120220090535|120220090535|120220090535... (4 Replies)
Discussion started by: mannepalli
4 Replies
6. Shell Programming and Scripting
how to input float data type in bash shell programming in linux?
I am new to it so unaware to use the commands plz help me out.
thank you. (6 Replies)
Discussion started by: purva
6 Replies
7. UNIX for Advanced & Expert Users
Hi Guys,
here is a part of my source code. This part is reponsible to get the minimun of a few values:
..........
MAX=0.00
for a in `cat $OFILE`
do
if
then
... (2 Replies)
Discussion started by: Paat
2 Replies
8. Red Hat
:confused:We have two servers one active and one stand by
as follows Active 202.61.9.9
Stand by 202.61.9.10
Float IP 202.61.9.8
What is use of this float IP?
How it is configured? (1 Reply)
Discussion started by: manalisharmabe
1 Replies
9. Programming
Hi,
I have small problem to print float value in the fallowing code
float Cx, W,f=250000, Cr=92.00,pi=3.14;
W=2*pi*f;
Cx = 1/W.Cr; //Cx value will be come around like 7.07E-9.
printf("capacitance value: %.10f",Cx);
I am trying to print Cx value using above code but it was not... (3 Replies)
Discussion started by: veerubiji
3 Replies
10. Shell Programming and Scripting
I'm in the process of writng a function that consists of a case statement is there a way of calling the function and passing a value to it?
ie
function1 () {
case
opt1 do .....
opt2 do.....
esac
}
function opt1
I'm aware the syntax is not correct, but you get the general idea. (1 Reply)
Discussion started by: squrcles
1 Replies
isnan(3M) isnan(3M)
NAME
isnan() - floating-point test for NaN
SYNOPSIS
floating-type
DESCRIPTION
The macro determines whether its argument is a NaN. The argument must be of floating type. For HP Integrity servers, the argument can be
any floating type. For PA-RISC, the argument must be either or
The macro implements the functionality recommended by the IEEE-754 standard for floating-point arithmetic.
The macro replaces the and functions, which are obsolete and are no longer supported.
USAGE
To use the macro, compile either with the default option or with the and options. Make sure your program includes Link in the math library
by specifying on the compiler or linker command line.
RETURN VALUE
The macro returns a nonzero value if and only if its argument has a NaN value. The macro raises no floating-point exceptions.
ERRORS
No errors are defined.
EXAMPLES
Take certain actions if is not a NaN:
SEE ALSO
fpclassify(3M), isfinite(3M), isinf(3M), isnormal(3M), signbit(3M), math(5).
STANDARDS CONFORMANCE
isnan(3M)