Visit Our UNIX and Linux User Community


Test decimal number


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Test decimal number
# 8  
Old 07-31-2009
ksh93 supports the libm int() function i.e.
Code:
#!/bin/ksh93

d=150.50

if (( int(d) == d ))
then
   print "Integer"
else
   print "Not integer"
fi

# 9  
Old 08-02-2009
Also case is nice method to test this kind of needs. Here is some test and output
Code:
#!/bin/ksh
for n in 100 +100 -100 100.00 -100.00 +100.00 100.00.00 abc 10-23.45
do
        num=0
        echo -n "$n:"
        case "$n" in
                +([0-9])) echo "int >= 0" ; num=1 ;;
                ++([0-9])) echo "int >= 0" ; num=1 ;;
                -+([0-9])) echo "int < 0" ; num=1 ;;
                +([0-9]).+([0-9])) echo "float >= 0" ; num=1 ;;
                ++([0-9]).+([0-9])) echo "float >= 0" ; num=1 ;;
                -+([0-9]).+([0-9])) echo "float <= 0" ; num=1 ;;
                *) echo  "not num" ;;
        esac
done

# 10  
Old 08-03-2009
Quote:
Originally Posted by francis_tom
Sorry, i would like know , after a division , if result is a number integer or not,

( 300 and 301 are value)

echo 300 / 2 | bc -l
150.00000000000000000000
--> it 's ok

echo 301 / 2 |bc -l
150.50000000000000000000
--> it's ko

Code:
num1=300
num2=2
if [ $(( $num1 % $num2 )) -eq 0 ]
then
  echo "OK"
else
  echo "KO"
fi


Previous Thread | Next Thread
Test Your Knowledge in Computers #185
Difficulty: Medium
Moderating questions and answers at UNIX.com requires superior UNIX shell scripting abilities.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Zero padding a Number before and after a decimal place

Hi I was hoping someone could help me with a sed script I am trying to write? I am on a Mac running ElCapitan I have some text that I have converted from a pdf that I want to format into an xml file. In the file I have managed to delete all the text I do not need. The text I have left is... (8 Replies)
Discussion started by: Paul Walker
8 Replies

2. Shell Programming and Scripting

Sort Decimal number in UNIX

Hello Everyone, In one of my script, I would like to sort the decimal numbers. For e.g. If I have numbers like 1.0 1.1 1.2 2.0 2.1 3.0 4.0 5.0 6.0 7.0 7.1 7.10 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 I would like to sort them 1.0 1.1 1.2 2.0 2.1 3.0 4.0 5.0 6.0 7.0 7.1 7.2 7.3 7.4... (3 Replies)
Discussion started by: sachinrastogi
3 Replies

3. Shell Programming and Scripting

Decimal number calculation problem

I have a below snippet of code from my perl script and its causing a problem when the output of $lTAX is 0 (zero) its getting displayed as -0.00. I want output to be 0 not -0.00. Any help would be appreciated. #!/usr/bin/perl my $lTotA = 50.94; my $lVatA = 8.49; my $lAllocD; my $lAdjNr =... (4 Replies)
Discussion started by: Devesh5683
4 Replies

4. Shell Programming and Scripting

Matching a decimal number?

Hi everyone! Easy question for everyone. I'm trying to run a command line to find an exact match of a decimal number within a file. The number can be a positive OR negative number. For instance, if I want to find only the number -1 in the file that has: -17.6 -17 -16.3 -16.2 -15.7 -15.3... (6 Replies)
Discussion started by: lucshi09
6 Replies

5. Shell Programming and Scripting

number of digits after decimal

Hi All, I have a file of decimal numbers, cat file1.txt 1.1382666907 1.2603107334 1.6118799297 24.4995857056 494.7632588468 560.7633734425 ..... I want to see the output as only 7 digits after decimal (5 Replies)
Discussion started by: senayasma
5 Replies

6. UNIX for Dummies Questions & Answers

check if a decimal number is greater than zero

Hello, In my code I am checking to see if a variable that contains a decimal number is greater than 0 in the following manner: if do something fi However I am getting the error message (if $i for the current iteration holds 9.6352) command 9.6352 is not found How can I rectify... (5 Replies)
Discussion started by: Gussifinknottle
5 Replies

7. Shell Programming and Scripting

if test for higher value between 2 decimal numbers

Hi I would like to test for a max number value. It may be a decimal so I know I have to pipe into bc. I just cannot get the syntax for this to work. I cannot get passed an error with the bracket - see below. Any help appreciated. Regards Ewan This works: /export/home/ewan> cat... (5 Replies)
Discussion started by: emjs
5 Replies

8. Shell Programming and Scripting

Pattern to match decimal number and interger

Hi, i've a code if (($A && ((!($A =~ /^\d+$/))))) { -- -- not a number } else { --- its number. } which matches for integer value, i need to modify that pattern where it matches decimal number with 2 decimal points and also integer value. for eg: values 10, 10.00. 0.1, 1 , 3 must... (2 Replies)
Discussion started by: asak
2 Replies

9. Shell Programming and Scripting

Add zero in decimal number

echo "scale=2; 282.73/640" | bc This will print .44 How to make the variable as 0.44 (2 Replies)
Discussion started by: sandy1028
2 Replies

Featured Tech Videos