awk way:
awk 'BEGIN{k=1024;m=1024*k;g=1024*m;FS=OFS="\""}
{x=substr($2,1,length($2)-1)*1}
$2~/[Kk]$/{x*=k}
$2~/[mM]$/{x*=m}
$2~/[Gg]$/{x*=g}
{print $1,x"\""} yourFile
test with your example:
kent$ cat tt
03:14.27,"31K"
03:13.59,"50M"
04:11.51,"435K"
kent$ awk 'BEGIN{k=1024;m=1024*k;g=1024*m;FS=OFS="\""}
{x=substr($2,1,length($2)-1)*1}
$2~/[Kk]$/{x*=k}
$2~/[mM]$/{x*=m}
$2~/[Gg]$/{x*=g}
{print $1,x"\""}' tt
output:
03:14.27,"31744"
03:13.59,"52428800"
04:11.51,"445440"
if you don't want the quotes:
awk 'BEGIN{k=1024;m=1024*k;g=1024*m;FS="\""}
{x=substr($2,1,length($2)-1)*1}
$2~/[Kk]$/{x*=k}
$2~/[mM]$/{x*=m}
$2~/[Gg]$/{x*=g}
{print $1,x} yourFile