Sponsored Content
Top Forums Shell Programming and Scripting How to get the ceiling value for floating numbers? Post 302366330 by ripat on Thursday 29th of October 2009 09:19:47 AM
Old 10-29-2009
Quote:
Originally Posted by Franklin52
Code:
awk '{printf("%d\n",$0+=$0<0?0:0.9)}'

[/CODE]
Will only work with one decimal:

Code:
$ cat infile
7
7.0
7.05
7.5
7.505
7.6
0
-7
-7.0
-7.05
-7.5
-7.505
-7.6

Code:
$ awk '{printf("%s \t  %d\n",$0, $0+=$0<0?0:0.9)}' infile
7 	  7
7.0 	  7
7.09 	  7
7.5 	  8
7.505 	  8
7.6 	  8
0 	  0
-7 	  -7
-7.0 	  -7
-7.09 	  -7
-7.5 	  -7
-7.505 	  -7
-7.6 	  -7

Workaround:
Code:
$ awk '!$0{print;next}{printf "%s\t%d\n",$0,($0%int($0))?int($0)+(($0>0)?1:0):$0}' infile
7	7
7.0	7
7.09	8
7.5	8
7.505	8
7.6	8
0
-7	-7
-7.0	-7
-7.09	-7
-7.5	-7
-7.505	-7
-7.6	-7

But that's becoming a bit bloated for a simple round-up IMO.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

problem with floating point numbers in awk

hi all, i have the following problem using awk in a script i want to read the values from a column with real numbers and calculate the mean.the problem is that when i use a statement such as this num = $4 i cant find a way to convert the variable from string to floating point to perform... (7 Replies)
Discussion started by: kanagias
7 Replies

2. Shell Programming and Scripting

How to Compare Floating point / real numbers

Hai, Can you please guide me, to compare the floating point numbers. Eg. If then echo "value1 is grater " fi This code is not working properly when i excuted with floating values or real numbers (13 Replies)
Discussion started by: padarthy
13 Replies

3. UNIX for Dummies Questions & Answers

Using Floating Numbers in String

Dear Unix Gurus, I have a list of files that I want to loop over....for example: sl40_z11.70.txt sl41_z11.40.txt sl42_z11.10.txt sl43_z10.80.txt using the script #!/bin/sh # echo -n "....enter first Z-coordinate position....."; read zpos q="scale=3; $zpos" p=0.3 #... (7 Replies)
Discussion started by: tintin72
7 Replies

4. Shell Programming and Scripting

sed to extract only floating point numbers from HTML

Hi All, I'm trying to extract some floating point numbers from within some HTML code like this: <TR><TD class='awrc'>Parse CPU to Parse Elapsd %:</TD><TD ALIGN='right' class='awrc'> 64.50</TD><TD class='awrc'>% Non-Parse CPU:</TD><TD ALIGN='right' class='awrc'> ... (2 Replies)
Discussion started by: pondlife
2 Replies

5. Shell Programming and Scripting

floating point numbers in if

# if > then > echo "1" > else > echo "2" > fi -bash: How can i compare floating point numbers inside statement? (15 Replies)
Discussion started by: proactiveaditya
15 Replies

6. Shell Programming and Scripting

Addition of floating numbers

Hi, i want to add two decimal values to $ set a= 12.4 $ set b=3.6 $ w=`expr $a - $b` expr: non-numeric argument or is there any other method to do this mathematics operation. i need to use this into my script. (4 Replies)
Discussion started by: dear_abhi2007
4 Replies

7. Programming

Testing floating point numbers

Hi guys I have problem with my simple calculator, author of my book wrote One way I tried is to test if one the inpur number is grater than zero, and then substatct And my protptype function is #include <stdio.h> int main(void) { float a, b , result; ... (11 Replies)
Discussion started by: solaris_user
11 Replies

8. UNIX for Dummies Questions & Answers

Add floating point numbers from file

How do I use bash to add all the floating point numbers saved in a file like this? 490.47 244.61 263.07 131.59 246.81 115.20 (3 Replies)
Discussion started by: locoroco
3 Replies

9. Shell Programming and Scripting

Floating Point Numbers in c shell!

I have started using bash but this script which I am working on it, is in c chell. So here is my simple problem: set x = 0.4124\0.234 echo $x 0.4124.0.234 Same operation in Bash gives me correct result in my terminal. So there is something with my c shell that is causing this behaviour.... (8 Replies)
Discussion started by: dixits
8 Replies

10. Shell Programming and Scripting

Comparison of floating point numbers in bash

I have the following code snippet in bash if ]; then minm=`echo "$diff" | bc` fi It works well for most of the cases. However lets say diff is -0.17 and minm is -0.0017. In such a case the comparison seems to fail. Is the correct way to compare a mixture of positive and... (12 Replies)
Discussion started by: ngabrani
12 Replies
pthread_mutex_getprioceiling(3C)										  pthread_mutex_getprioceiling(3C)

NAME
pthread_mutex_getprioceiling, pthread_mutex_setprioceiling - change priority ceiling of a mutex SYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ] #include <pthread.h> int pthread_mutex_getprioceiling(const pthread_mutex_t *restrict mutex, int *restrict prioceiling); int pthread_mutex_setprioceiling(pthread_mutex_t *restrict mutex, int prioceiling, int *restrict old_ceiling); The pthread_mutex_getprioceiling() function returns the current priority ceiling of the mutex. The pthread_mutex_setprioceiling() function either locks the mutex if it is unlocked, or blocks until it can successfully lock the mutex, then it changes the mutex's priority ceiling and releases the mutex. When the change is successful, the previous value of the priority ceiling is returned in old_ceiling. The process of locking the mutex need not adhere to the priority protect protocol. If the pthread_mutex_setprioceiling() function fails, the mutex priority ceiling is not changed. The ceiling value should be drawn from the range of priorities for the SCHED_FIFO policy. When a thread acquires such a mutex, the policy of the thread at mutex acquisition should match that from which the ceiling value was derived (SCHED_FIFO, in this case). If a thread changes its scheduling policy while holding a ceiling mutex, the behavior of pthread_mutex_lock() and pthread_mutex_unlock() on this mutex is undefined. See pthread_mutex_lock(3C). The ceiling value should not be treated as a persistent value resident in a pthread_mutex_t that is valid across upgrades of Solaris. The semantics of the actual ceiling value are determined by the existing priority range for the SCHED_FIFO policy, as returned by the sched_get_priority_min() and sched_get_priority_max() functions (see sched_get_priority_min(3RT)) when called on the version of Solaris on which the ceiling value is being utilized. Upon successful completion, the pthread_mutex_getprioceiling() and pthread_mutex_setprioceiling() functions return 0. Otherwise, an error number is returned to indicate the error. The pthread_mutex_getprioceiling() and pthread_mutex_setprioceiling() functions will fail if: ENOSYS The option _POSIX_THREAD_PRIO_PROTECT is not defined and the system does not support the function. Since _POSIX_THREAD_PRIO_PROTECT is defined, this condition is not reported. The pthread_mutex_setprioceiling() function will fail if: EINVAL The mutex was not initialized with its protocol attribute having the value of PTHREAD_PRIO_PROTECT. The pthread_mutex_getprioceiling() and pthread_mutex_setprioceiling() functions may fail if: EINVAL The value specified by mutex does not refer to a currently existing mutex. ENOSYS The system does not support the priority ceiling protocol for mutexes. EPERM The caller does not have the privilege to perform the operation. The pthread_mutex_getprioceiling() function may fail if: EINVAL The priority requested by prioceiling is out of range. The pthread_mutex_setprioceiling() function may fail if: EINVAL The priority requested by prioceiling is out of range. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ pthread_mutex_init(3C), pthread_mutex_lock(3C), sched_get_priority_min(3RT), attributes(5), standards(5) 23 Mar 2005 pthread_mutex_getprioceiling(3C)
All times are GMT -4. The time now is 08:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy