Visit Our UNIX and Linux User Community


CEILING and FLOOR functions


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting CEILING and FLOOR functions
# 1  
Old 05-25-2011
CEILING and FLOOR functions

Hi all,

Does anyone know how to simulate a ceiling or floor function in UNIX? OS is Solaris. I tried the suggestion from an old forum but it is giving me error as below:

Code:
server01[]/tmp$: echo "7.2" | awk '{printf("%d\n",$0+=$0<0?0:0.999)}'
awk: syntax error near line 1
awk: illegal statement near line 1

Am looking for something "simple", echo "7.123" | ceiling or echo "7.123" | floor that should return 8 or 7 respectively or something like that. Won't mind having to use awk i fneed be, but not sure how to call the function. I've also tried the one below but same error:

Code:
server01[]/tmp$: echo "7.2" | awk 'function ceil(valor) { return (valor == int(valor)) ? valor : int(valor)+1 } { printf "%d", ceil($1) }'
awk: syntax error near line 1
awk: bailing out near line 1

Any suggestion will be much appreciated. Thanks in advance.
# 2  
Old 05-25-2011
You could use perl :

Code:
$ echo "7.2" | perl -nl -MPOSIX -e 'print ceil($_);'
8
$ echo "7.2" | perl -nl -MPOSIX -e 'print floor($_);'
7
$

# 3  
Old 05-25-2011
floor
Code:
echo 7.2|cut -f1 -d"."

ceil
Code:
 
echo $(( `echo 7.2|cut -f1 -d"."` + 1 ))

This User Gave Thanks to 116@434 For This Post:
# 4  
Old 05-25-2011
If you are on Solaris 10, you can also use /usr/bin/ksh93
Code:
$ /usr/bin/ksh93 -c 'print $(( ceil(7.2) ))'
8
$ /usr/bin/ksh93 -c 'print $(( floor(7.2) ))'
7
$


Previous Thread | Next Thread
Test Your Knowledge in Computers #164
Difficulty: Easy
Developers began to abandon MINIX after free and open-source Unix-like operating systems such as Linux and 386BSD became available in the early 1990s.
True or False?

10 More Discussions You Might Find Interesting

1. Programming

Round floor behavior

Hello, My round and floor functions in C program behaves weird. Can someone help resolve the issue.. fprintf( fp, "ROUND TEST VARIABLE 11686776.000000 %d\n", round(11686776.000000)); fprintf( fp, "ROUND TEST VARIABLE 1168677.000000 %d\n", round(1168677.000000)); fprintf( fp, "FLOOR... (3 Replies)
Discussion started by: anijan
3 Replies

2. Shell Programming and Scripting

How to execute functions or initiate functions as command line parameters for below requirement?

I have 7 functions those need to be executed as command line inputs, I tried with below code it’s not executing function. If I run the ./script 2 then fun2 should execute , how to initiate that function I tried case and if else also, how to initiate function from command line if then... (8 Replies)
Discussion started by: saku
8 Replies

3. Shell Programming and Scripting

i think i need functions ?

Hi, im making a little script but need some help Code i have so far is read -p 'Bot Nickname:' ecnick read -p 'Bot Username:' ecusername read -p 'Bot Realname:' ecrealname read -p 'Your Email:' ecemail echo '' echo Your bots nickname is set to $ecnick echo Your bots username is set to... (2 Replies)
Discussion started by: Gemster
2 Replies

4. UNIX for Dummies Questions & Answers

Help with functions

Hi, I am exploring with defining functions in my BASH shell scripts. However, I am bit confused about how to pass parameters to my functions. I was under the impression that you must do something like the following: Define a function called "sample_function": function sample_function {... (3 Replies)
Discussion started by: msb65
3 Replies

5. Shell Programming and Scripting

How to get the ceiling value for floating numbers?

Dear guys; How can I get the ceiling value of any floating number using shell or awk scripts or functions. Example:- old values "7.2" or "7.8" or "7.5" --->>> ceiling function ---->>> new value "8". BR (6 Replies)
Discussion started by: ahmad.diab
6 Replies

6. Shell Programming and Scripting

Need a little help with functions

I'm semi new to unix/linux and am trying to convert a program I wrote in C++ to a bash script. It's a program that prints Fibonacci's series. I have found scripts that will do it, but I'm trying persistently to get this one to work. The problem occurs when I try to return a value from the function.... (3 Replies)
Discussion started by: Glowworm
3 Replies

7. Shell Programming and Scripting

functions

I have korn shells where I want to create a function passing $1 to a function , determine my $STAT_ENV value, set the paths and return the paths for STATSH,STATPRM,STATSQR,STATSQL,STATCTL TO BE USED IN THE UNIX SCRIPT THE CALLED THE fucnction in the first place. Can someone tell me the best... (2 Replies)
Discussion started by: TimHortons
2 Replies

8. Shell Programming and Scripting

FLOOR Func

Hello Experts, Is there any inbuild FLOOR function to do FLOOR func in mathmetics in awk script like in FlOOR Func in C. Ex:- floor(2.9) = 2 floor(2.1) = 2 floor(2.0) = 2 floor(-2.0) = 2 floor(-2.1) = -3 floor(-2.9) =... (1 Reply)
Discussion started by: user_prady
1 Replies

9. Shell Programming and Scripting

functions in

hi could anybody please suggest me how to put a function memory for particular user. say i am a user rao. want have a function foo in memory . i have done this .typed the function function in the shell it worked for the session.but next time i do login its not there . i can i have a... (6 Replies)
Discussion started by: Raom
6 Replies

10. Shell Programming and Scripting

Regarding functions

Hi, I have a function or script like this. show() { echo "Hi" } | tee -a log show This creates a logfile and prints Hi in it. Now when I try to do the same for sql like this: show() { sqlplus -s scott/tiger<<! select * from details; ! } | tee -a log show Then it gives me a... (2 Replies)
Discussion started by: sendhilmani
2 Replies

Featured Tech Videos