You need to determine what rounding rules you want to use for tie-breaking cases (see Wikipedia's discussion on rounding)
and you need to realize that even in double precision floating point, the result of a floating point calculation is not always exact (even when computing a value using decimal calculations would be exact). For example, the awk program (which uses double precision floating point for its calculations):
produces the output:
not the output you might expect:
Which shows two examples where decimal arithmetic produces exact results, but binary arithmetic produced one result that was a little bit high and one result that was a little bit low.
Hello again.
I'm trying to use BC to calculate some numbers in a shell script.
I want to have the numbers rounded off to 1 decimal place.
for example:
initsize=1566720
zipsize=4733
I'm trying to get the ratio between them. the equation is:
(($initsize-$zipsize)/$initsize)*100
so... (3 Replies)
Hi,
Can any one help me in finding a solution for rounding off to 2 decimal places.
I am using the following code:
VAR1=.01292105263157894736
VAR2=`echo "scale=2; $VAR1 * 100" | bc -l`
The result I 'm getting is
1.29210526315789473600
But I need the output as 1.29
Thanks
Shash (2 Replies)
Hello,
i have some variables say:
x=1.4
y=3.7
I wish to round off these values to :
x = 2 (after rounding off)
y = 4 (after rounding off)
I am stuck.
Please help. (7 Replies)
Hello,
I searched a lot on this Forum.
Please help me with the below problem.
I want to divide two numbers and the result should be the next nearest whole number.
E.G. Dividing 10.8/5 ideally gives 2.16. But the result should be 3 i.e. rounded off to the next whole number.
Any help will... (2 Replies)
I need some help with my rouding script. I have started pretty much from scratch and have no idea if its correct or even close but I have been trying and have gotten to this point. i keep getting syntax errors and im not sure what is wrong. Here is what I got
let value=$1;
while
do
let... (0 Replies)
I need some help with my rouding script. I have started pretty much from scratch and have no idea if its correct or even close but I have been trying and have gotten to this point. i keep getting syntax errors and im not sure what is wrong. Here is what I got
let value=$1;
while
do
let... (4 Replies)
Hi,
I am currently using tcsh
I am trying to round a decimal number to the ten-thousandths place
For instance:
1.23456 is rounded up towards 1.2346
I am not looking for truncation, but for rounding. Anyone know how to do this with awk or expr?
Thanks (2 Replies)
Dear Experts,
I'm trying to find a way to round a number but in this way:
14367.577 ---> 14000
I used the following to round the number to the closer integer:
echo $var|awk '{print int($1+0.5)}'
and also:
xargs printf "%1.0f"
However, they don't work for my above... (9 Replies)
Hi all of you,
Would be great if you help me with how to round up to whole number from my input values like
2.99996,2.17890,3.00002,-2.3456,-2.7890
o/p should be like 3,2,3,-2,-3
thnks in adv!!!!
regards (3 Replies)
How to round off a decimal number to higher whole number using ceil command in unix?
Eg. 4.41 or 4.11 or 4.51 should be rounded off to 5. (11 Replies)
Discussion started by: SanjayKumar28
11 Replies
LEARN ABOUT SUNOS
fesetprec
fesetprec(3M) Mathematical Library Functions fesetprec(3M)NAME
fesetprec, fegetprec - control floating point rounding precision modes
SYNOPSIS
cc [ flag... ] file... -lm [ library... ]
#include <fenv.h>
int fesetprec(int prec);
int fegetprec(void);
DESCRIPTION
The IEEE 754 standard defines rounding precision modes for systems that always deliver intermediate results to destinations in extended
double precision format. These modes allow such systems to deliver correctly rounded single and double precision results (in the absence of
underflow and overflow) with only one rounding.
The fesetprec() function sets the current rounding precision to the precision specified by prec, which must be one of the following values
defined in <fenv.h>:
FE_FLTPREC round to single precision
FE_DBLPREC round to double precision
FE_LDBLPREC round to extended double precision
The default rounding precision when a program starts is FE_LDBLPREC.
The fegetprec() function returns the current rounding precision.
RETURN VALUES
The fesetprec() function returns a non-zero value if the requested rounding precision is established and 0 otherwise.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Architecture |Intel (see below) |
|Availability |SUNWlibms |
|Interface Stability |Stable |
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
These functions are not available on SPARC systems because SPARC processors deliver intermediate results to destinations in single or dou-
ble format as determined by each floating point instruction.
SEE ALSO fegetenv(3M), fesetround(3M), attributes(5)
Numerical Computation Guide
SunOS 5.10 1 Oct 2003 fesetprec(3M)