Add non-integers using ksh


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Add non-integers using ksh
# 15  
Old 04-30-2007
Thanks everyone for your help.

Perderabo - When I tried your method for "1188 / 1454.07 * 100" it came back as 80.0 not 81.7. So I dont think I can use it.

So I am going to go with the following. This way I can use it to figure out percentages along with any other arithmetic I need. It will also display the tenths.

me> cat test.sh
#!/usr/bin/sh

USED=1188
TOTAL=1454.07

#Function to deal with floating-point arithmetic
calc_to_tenths()
{
awk 'BEGIN{EQUATION='"$*"';printf("%0.1f\n",EQUATION)}'
}

calc_to_tenths "$USED / $TOTAL * 100"
calc_to_tenths "4.7 + 1.2"
calc_to_tenths "4 + 1"

me> ./test.sh
81.7
5.9
5.0
# 16  
Old 04-30-2007
Quote:
Originally Posted by 2dumb
Perderabo - When I tried your method for "1188 / 1454.07 * 100" it came back as 80.0 not 81.7. So I dont think I can use it.
Oh,well. I guess that not everyone can use everything. But for the record, I get 81.70100.
Code:
#! /usr/bin/ksh

bc |&
print -p scale=5

function calc
{
        typeset result
        print -p "$@"
        read -p result
        echo "$result"
}



calc "1188 / 1454.07 * 100"
exit 0
$ ./testcalc
81.70100

# 17  
Old 04-30-2007
Your right I messed it up, I had "print -p scale=1" instead of "print -p scale=5". How would I have it output 81.7 instead of 81.70100?

Quote:
Originally Posted by Perderabo
Oh,well. I guess that not everyone can use everything. But for the record, I get 81.70100.
Code:
#! /usr/bin/ksh

bc |&
print -p scale=5

function calc
{
        typeset result
        print -p "$@"
        read -p result
        echo "$result"
}



calc "1188 / 1454.07 * 100"
exit 0
$ ./testcalc
81.70100

# 18  
Old 04-30-2007
Quote:
Originally Posted by 2dumb
How would I have it output 81.7 instead of 81.70100?
Code:
printf "%.1f\n" $(calc "1188 / 1454.07 * 100")

# 19  
Old 04-13-2009
it was of great help thanks a lot

Thanks a lot
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Comparing Integers (I think)

Hi, I can't figure out what I'm missing. I'm running a query to see if there are any streams recording on my DVR before starting a scripted update. I'm guessing that it is viewing $VIDEO as a string instead of an int. I've tried everything I saw on google but it still comes back as $VIDEO is... (8 Replies)
Discussion started by: Rhysers
8 Replies

2. UNIX for Dummies Questions & Answers

Strings to integers?

Hi, I'm totally new at this, so help will be appreciated. I have a directory with a bunch of files in it. The files are named xinteger_yinteger_zinteger.vtk (eg, x3_y0_z-1.vtk). I want to read the filenames and then assign the integers to variables that I then can use in expressions. So, for... (6 Replies)
Discussion started by: jhsinger
6 Replies

3. Shell Programming and Scripting

Bash Integers/String

Hy friends, I am newbie to bash scripting, can anyone explain how b=${a/23/BB} # Substitute "BB" for "23". this line converts "b" into string and and "d" into Integer. Thanks in advance (4 Replies)
Discussion started by: Qazi
4 Replies

4. Shell Programming and Scripting

Grep float/integers but skip some integers

Hi, I am working in bash in Mac OSX, I have following 'input.txt' file: <INFO> HypoTestTool: >>> Done running HypoTestInverter on the workspace combined <INFO> HypoTestTool: The computed upper limit is: 11 +/- 1.02651 <INFO> HypoTestTool: expected limit (median) 11 <INFO> HypoTestTool: ... (13 Replies)
Discussion started by: Asif Siddique
13 Replies

5. Shell Programming and Scripting

Comparison treating strings as zero integers

I'm trying to write a bash script to perform basic arithmetic operations but I want to run a comparison on the arguments first to check that they're a number greater than zero. I want an error to pop up if the arguments args aren't >= 0 so I have: if ! ]; then echo "bad number: $1" fi ... (14 Replies)
Discussion started by: TierAngst
14 Replies

6. Shell Programming and Scripting

Cancel down 2 integers

Wonderful evening to all of you! My problem has to possible starting points. Well, not really, but getting to either one is no problem at all. So i got either a string in the format of "1920x1080" or simply the integers X = 1920 and Y = 1080. When I am done, I would like to have an output... (5 Replies)
Discussion started by: jakunar
5 Replies

7. Shell Programming and Scripting

integers, floats and text

I am using gawk in a dos shell in windows xp and want to read a datafile and reformat it. The datafile consists of columns of integers, floating point numbers and text strings. Each column is a fixed width and each column contains the same data type, eg all integers, all text. I am looking for a... (0 Replies)
Discussion started by: lookingfor help
0 Replies

8. Programming

Using write() with integers in C

I'm trying to write an integer to a file using the write() function, but write() requires the parameter to be written to be a const void*. How would I go about doing this? also: using itoa() produces a " warning: implicit declaration of function 'itoa' " even though i have #included stdlib.h (2 Replies)
Discussion started by: h@run
2 Replies

9. Shell Programming and Scripting

integers in the if statement

hi, im trying to compare two variables in csh to put in an if statement, eg: set a = $firstnum set b = $secondnum if ($a -ge $b) echo $a But I get an error ("if: Expression syntax"). How can I make csh see my variables as integers? thanks in advance! (5 Replies)
Discussion started by: Deanne
5 Replies

10. UNIX for Dummies Questions & Answers

how do you represent non integers in a shell script?

am trying to write a script that test that the load average which is taken from the uptime command's output to make sure it doesn't pass a certain limit. each time I execute the script, it complains about interger errors. if (2 Replies)
Discussion started by: TRUEST
2 Replies
Login or Register to Ask a Question