Can't assign float value into another variable

hello
I have write one script which calculate result of student and takes input from file named "student.txt". This file has filed name rollno, name, mark1,mark2 and mark3.

My problem is that i want percentage with 2 floating point. I have write whole shell script but it can't work. Code is here.

echo "\n\n\tSTUDENT MARKSHEET"
echo "\t=================\n"
echo "NAME \t \t TOTAL \t \t PERCENTAGE \t GRADE "
echo "====================================================="
while [ $i -le $len ]
do
 record=`head -n $i student.txt | tail -n 1`
 total=0
 for (( j=3 ; $j <=5 ; j++ ))
 do
  marks=`echo $record | cut -d " " -f $j`
  total=`expr $total + $marks`
 done
 name=`echo $record | cut -d " " -f 1`
 per=`echo "scale=2 ; $total/3" | bc`                                         #this statement can't work
# per=`expr $total / 3`
if [ $per -ge 85 ] && [ $per -le 100 ] ; then
    grade="AA"
 elif [ $per -ge 75 ] && [ $per -le 84 ] ; then
    grade="AB"
 elif [ $per -ge 65 ] && [ $per -le 74 ] ; then
    grade="BB"
 elif [ $per -ge 55 ] && [ $per -le 64 ] ; then
    grade="BC"
 elif [ $per -ge 45 ] && [ $per -le 54 ] ; then
    grade="CC"
 elif [ $per -ge 0 ] && [ $per -le 44 ] ; then
    grade="FAIL"
else
    grade="-"
 fi

 echo "$name  $total  $per %  $grade"
 i=`expr $i + 1`
done

Errors like
13: line 21: [: 66.00: integer expression expected
13: line 23: [: 66.00: integer expression expected
13: line 25: [: 66.00: integer expression expected
13: line 27: [: 66.00: integer expression expected
13: line 29: [: 66.00: integer expression expected
13: line 31: [: 66.00: integer expression expected

can you try with ksh

 
$ bash b.sh
66.00
b.sh: line 6: [: 66.00: integer expression expected

$ ksh b.sh
66.00
BB

$ cat b.sh
#!/bin/sh
a=66.00;
echo $a
if [ $a -ge 65 ] && [ $a -le 74 ] ; then
echo "BB"
fi

No i am using Bash shell