compare decimal numbers


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting compare decimal numbers
# 1  
Old 11-02-2005
compare decimal numbers

Hi anyone,

i need to compare two decimal numbers

i thought that it could be do it with if but... Smilie

So, i'm writing in csh and i really apreciate if anyone can help me

if ( $ppl_kn <= $ppl_wb ) then
echo "############# KNdiscount model has the lowest perplexity"
set ppl_LM_choosed = $ppl_LM_kn
set LM_choosed = $LM_kn
else
echo "############# WBdiscount model has the lowest perplexity"
set ppl_LM_choosed = $ppl_LM_wb
set LM_choosed = $LM_wb
endif

Many thanks
# 2  
Old 11-02-2005
That should be fine....
Code:
#!/usr/bin/csh -f

set ppl_kn = 7
set ppl_wb = 6

if ( $ppl_kn <= $ppl_wb ) then
  echo "KNdiscount model has lowest perplexity"
else
  echo "WBdiscount model has lowest perplexity"
endif

Works for me...

Also; people are going to yell "Don't use csh for scripting", for good reason too...

Cheers
ZB
# 3  
Old 11-02-2005
Thanks by your quick reply.

however does not work if i make
set ppl_kn = 7.1
set ppl_wb = 6.8
or
set ppl_kn = 7,1
set ppl_wb = 6,8

The numbers i need to compare are not integers.

Thanks anyway.
# 4  
Old 11-02-2005
ksh88 only has integers. Here is how I solve this problem in ksh88. You get translate the technique to csh. Or you could switch to a real shell. Smilie
# 5  
Old 11-02-2005
Use perl...
Code:
#!/usr/bin/perl

my $ppl_kn = 1.4;
my $ppl_wb = 1.2;

if ( $ppl_kn <= $ppl_wb ) {
   printf "KNdiscount model has lowest perplexity\n";
} else {
   printf "WBdiscount model has lowest perplexity\n";
}

Cheers
ZB
# 6  
Old 11-02-2005
Code:
ruby -e 'puts ($*.first.to_f <= $*.last.to_f) ? 1 : 0' 3.14 9

Output:

1
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Decimal numbers and letters in the same collums: round numbers

Hi! I found and then adapt the code for my pipeline... awk -F"," -vOFS="," '{printf "%0.2f %0.f\n",$2,$4}' xxx > yyy I add -F"," -vOFS="," (for input and output as csv file) and I change the columns and the number of decimal... It works but I have also some problems... here my columns ... (7 Replies)
Discussion started by: echo manolis
7 Replies

2. Shell Programming and Scripting

Comparing decimal numbers between 0 and 1

For numbers between 0 and 1 the below logic is not working. Output of above shall be "correct" but its echoing "incorrect".Kindly suggest a=.1 if then echo correct else echo incorrect fi Video tutorial on how to use code tags in The UNIX and Linux Forums. (3 Replies)
Discussion started by: itsvikas
3 Replies

3. Shell Programming and Scripting

if test for higher value between 2 decimal numbers

Hi I would like to test for a max number value. It may be a decimal so I know I have to pipe into bc. I just cannot get the syntax for this to work. I cannot get passed an error with the bracket - see below. Any help appreciated. Regards Ewan This works: /export/home/ewan> cat... (5 Replies)
Discussion started by: emjs
5 Replies

4. UNIX for Dummies Questions & Answers

If then else for decimal numbers part2

Hi, I have a small problem with my script. I have everything in order but it doesnt seem to compare anything less than 1 correctly. If the input is more than 1, then the results is correct. If the input is 0.xxx (anything) it returns erroneous results. Pls help input=0.12 if ; then ... (7 Replies)
Discussion started by: streddy
7 Replies

5. UNIX for Dummies Questions & Answers

Condition for decimal numbers

Hi experts, My number output has somehting like below filename /temp 0.23 10.23 How do i put a condition to the above numbers? e.g if then the . seem to give me problems. Pls help. thanks ---------- Post updated at 05:25 PM ---------- Previous update was at 05:23 PM... (9 Replies)
Discussion started by: streddy
9 Replies

6. Shell Programming and Scripting

Regarding decimal numbers

Hello... I am new to unix and I am wondering if in a C-shell script , Are we supposed to use only whole numbers........ for example..if a program needs to calculate the average of some numbers........ @ avg = (($1 +$2 + $3)/3)) is returning a whole number.........How can a decimal be... (7 Replies)
Discussion started by: ravindra22
7 Replies

7. Shell Programming and Scripting

Comparing Decimal Numbers

Im trying to compare two numbers with decimals but its not working as expected. a=1 b=1.1 if then echo "equal" fi When I do this it says that the numbers are equal. Ultimately Im using -le and -ge in the if statements but I tested with -eq for simplicity. Any way to make this... (3 Replies)
Discussion started by: Grizzly
3 Replies

8. Shell Programming and Scripting

How to convert hex numbers to decimal ?

Hi, please tell me how to convert hex number to decimal 000000E7 000000000002640D 0000000000025B16 and seconds to minutes, hours, days, months, years bytes to kbytes, mbytes , gbytes read the following examples while read a b do printf "%5d %5d\n" "0x$a" "0x$b" done < "$FILE"... (15 Replies)
Discussion started by: jack2
15 Replies

9. Shell Programming and Scripting

decimal numbers

Hi friends How can I use "for loop" for decimal numbers? ex: 0.1 < x < 0.6 I used this commands but does'nt work. LIMIT=0.6 for ((x=0.1; x<=LIMIT; x++)) do - - - done Many thanks (1 Reply)
Discussion started by: snow
1 Replies

10. Shell Programming and Scripting

Devision of Decimal Numbers?

How can i devide decimal numbers? I am getting this kind of error: line 18: 200.2/40.234: syntax error in expression (error token is ".2/40.234") What can i do to work around this problem? Thanks for any advice. (4 Replies)
Discussion started by: Vozx
4 Replies
Login or Register to Ask a Question