Sponsored Content
Full Discussion: Random float numbers in BASH
Top Forums Shell Programming and Scripting Random float numbers in BASH Post 302508300 by pharaoh on Sunday 27th of March 2011 05:44:42 PM
Old 03-27-2011
Random float numbers in BASH

Hi people Smilie

I'm learning shell scripting using bash and I want to generate 4 floating point number with 5 decimal places and write them to a file and a variable. I've done all this except the $RAMDOM enviroment variable does not generate a float number but a integrer.

I hope you could explain why to lead me to a solution.
Thnak you all in advance.

PS: script so far
Code:
#!/bin/bash

#: Title		: randomFloats
#: Date			: 2011-03-27
#: Author		: pharaoh
#: Version		: 1.0 
#: Discription	        : Generate a 4 float numbers with 5 decimal places and write them to a file and a variable 


listFloats=0.0
for i in $(seq 0 3)
do
    aux=$[($RANDOM % 15000)]
	printf -v aux "%.5f" ${aux}
	
	#In the first iteration it just set the variable, in the others it append
	if [ ${i} -eq 0 ]
	then
		listFloats=${aux}
		printf ${aux} > randomFloats.txt
	else 
		listFloats="${listFloats} ${aux}"
		printf ${aux} >> randomFloats.txt
	fi
done

printf "%s\n" ${listFloats}

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

adding float numbers

how to add 2 float values to each other? i tried this and it doesnt work: #!bin/bash numone=1.234 numtwo=0.124 total=`expr $numone + $numtwo` echo $total thanks (5 Replies)
Discussion started by: strike
5 Replies

2. Solaris

i cannot assign float point numbers to an array in solaris

total=0 declare -a sum limit=`iostat -En | grep -i size | awk '{print $2}' | sed -e 's/GB//g' | wc -l` echo "Limit is equal to $limit" ara="`iostat -En | grep -i size | awk '{print $2}' | sed -e 's/GB//g'`" for (( i=1; i<=$limit; i++ )) do sum=`echo $ara | cut -d " " -f $i` echo ${sum}... (11 Replies)
Discussion started by: naree
11 Replies

3. Solaris

can array store float point numbers

Hi all, I have doubt can array in a shell script can store floating point numbers. i have tired. but i unable to work it out. Please help me regarding this Thank U Naree (1 Reply)
Discussion started by: naree
1 Replies

4. Shell Programming and Scripting

Random numbers from 0 to 1000

Hello All, I want to make a simple script which generate random number from 0 to 1000. and simply display it. Plz HELP!!!!!! Regards, Waqas Ahmed (2 Replies)
Discussion started by: wakhan
2 Replies

5. Programming

comparison between float numbers

Hi, i have a simple control like this: if(sum>1.0)... If i try to print sum i get 1.000000 but the check returns true. I think it depends on float precision. How can i modify the check? thanks (1 Reply)
Discussion started by: littleboyblu
1 Replies

6. Shell Programming and Scripting

Generating random numbers

Hi, I am having trouble with generating random numbers. can this be done with awk? So I have a file that looks like this: 23 30 24 40 26 34 So column1 is start and column2 is end. I want to generate 3 random #'s between start and stop: So the output will look like this: ... (9 Replies)
Discussion started by: phil_heath
9 Replies

7. Homework & Coursework Questions

Random numbers

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! Write a shell script that will take the sum of two random number? Ex: Random n1 +Random n2 = result i tries to write it but i had some dufficulties ... (3 Replies)
Discussion started by: renegade755
3 Replies

8. Shell Programming and Scripting

Arithmetic on a Float in bash

I am using bash I have a script that takes a number, i.e. 85.152, which is always a non integer and essentially tries to get that number to be a multiple of 10. My code is as follows: number=85.152 A=${number%.*} #Converts float to integer typeset -i B=$(((A-20)/10)) #subtracting 20 is... (12 Replies)
Discussion started by: prodigious8
12 Replies

9. Shell Programming and Scripting

Help about using variables of float numbers in sed

Hi, I need to run a Fortran program which reads a input file with a fixed name many times, each time I need to change a number (real) in that input file, this is how I currently do it and I know it is not elegent at all: cp inputfile.dat backup.dat sed -i 's/28.0/0.01/g' inputfile.dat ./myCode... (3 Replies)
Discussion started by: dypang
3 Replies
float.h(3HEAD)							      Headers							    float.h(3HEAD)

NAME
float.h, float - floating types SYNOPSIS
#include <float.h> DESCRIPTION
The characteristics of floating types are defined in terms of a model that describes a representation of floating-point numbers and values that provide information about an implementation's floating-point arithmetic. The following parameters are used to define the model for each floating-point type: s sign (+-1) b base or radix of exponent representation (an integer >1) e exponent (an integer between a minimum emin and a maximum emax) p precision (the number of base-b digits in the significand) fk non-negative integers less than b (the significand digits) In addition to normalized floating-point numbers (f1>0 if x!=0), floating types might be able to contain other kinds of floating-point num- bers, such as subnormal floating-point numbers (x!=0, e=emin, f1=0) and unnormalized floating-point numbers (x!=0, e=emin, f1=0), and val- ues that are not floating-point numbers, such as infinities and NaNs. A NaN is an encoding signifying Not-a-Number. A quiet NaN propagates through almost every arithmetic operation without raising a floating-point exception; a signaling NaN generally raises a floating-point exception when occurring as an arithmetic operand. The accuracy of the library functions in math.h(3HEAD) and complex.h(3HEAD) that return floating-point results is defined on the libm(3LIB) manual page. All integer values in the <float.h> header, except FLT_ROUNDS, are constant expressions suitable for use in #if preprocessing directives; all floating values are constant expressions. All except DECIMAL_DIG, FLT_EVAL_METHOD, FLT_RADIX, and FLT_ROUNDS have separate names for all three floating-point types. The floating-point model representation is provided for all values except FLT_EVAL_METHOD and FLT_ROUNDS. The rounding mode for floating-point addition is characterized by the value of FLT_ROUNDS: -1 Indeterminable. 0 Toward zero. 1 To nearest. 2 Toward positive infinity. 3 Toward negative infinity. The values of operations with floating operands and values subject to the usual arithmetic conversions and of floating constants are evalu- ated to a format whose range and precision might be greater than required by the type. The use of evaluation formats is characterized by the architecture-dependent value of FLT_EVAL_METHOD: -1 Indeterminable. 0 Evaluate all operations and constants just to the range and precision of the type. 1 Evaluate operations and constants of type float and double to the range and precision of the double type; evaluate long double operations and constants to the range and precision of the long double type. 2 Evaluate all operations and constants to the range and precision of the long double type. The values given in the following list are defined as constants. o Radix of exponent representation, b. FLT_RADIX o Number of base-FLT_RADIX digits in the floating-point significand, p. FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG o Number of decimal digits, n, such that any floating-point number in the widest supported floating type with pmax radix b digits can be rounded to a floating-point number with n decimal digits and back again without change to the value. DECIMAL_DIG o Number of decimal digits, q, such that any floating-point number with q decimal digits can be rounded into a floating-point number with p radix b digits and back again without change to the q decimal digits. FLT_DIG DBL_DIG LDBL_DIG o Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalized floating-point number, emin. FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP o Minimum negative integer such that 10 raised to that power is in the range of normalized floating-point numbers. FLT_MIN_10_EXP DBL_MIN_10_EXP LDBL_MIN_10_EXP o Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite floating-point number, emax. FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP o Maximum integer such that 10 raised to that power is in the range of representable finite floating-point numbers. FLT_MAX_10_EXP DBL_MAX_10_EXP LDBL_MAX_10_EXP The values given in the following list are defined as constant expressions with values that are greater than or equal to those shown: o Maximum representable finite floating-point number. FLT_MAX DBL_MAX LDBL_MAX The values given in the following list are defined as constant expressions with implementation-defined (positive) values that are less than or equal to those shown: o The difference between 1 and the least value greater than 1 that is representable in the given floating-point type, b**1 - p. FLT_EPSILON DBL_EPSILON LDBL_EPSILON o Minimum normalized positive floating-point number, b**emin**-. FLT_MIN DBL_MIN LDBL_MIN ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
complex.h(3HEAD), math.h(3HEAD), attributes(5), standards(5) SunOS 5.10 17 Dec 2003 float.h(3HEAD)
All times are GMT -4. The time now is 08:17 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy