--- loncom/homework/default_homework.lcpm 2004/06/09 21:16:43 1.87 +++ loncom/homework/default_homework.lcpm 2004/10/05 20:18:29 1.88 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # used by lonxml::xmlparse() as input variable $safeinit to Apache::run::run() # -# $Id: default_homework.lcpm,v 1.87 2004/06/09 21:16:43 albertel Exp $ +# $Id: default_homework.lcpm,v 1.88 2004/10/05 20:18:29 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -41,7 +41,7 @@ sub caparesponse_check { my $type=$LONCAPA::CAPAresponse_args{'type'}; my $tol=$LONCAPA::CAPAresponse_args{'tol'}; my $sig=$LONCAPA::CAPAresponse_args{'sig'}; - my $ans_fmt=$LONCAPA::CAPAresponse_args{'ans_fmt'}; + my $ans_fmt=$LONCAPA::CAPAresponse_args{'format'}; my $unit=$LONCAPA::CAPAresponse_args{'unit'}; my $calc=$LONCAPA::CAPAresponse_args{'calc'}; my $samples=$LONCAPA::CAPAresponse_args{'samples'}; @@ -70,6 +70,13 @@ sub caparesponse_check { $response=~s/ +/ /g; } if ($type eq 'float') { $response=~s/,//g; } + &LONCAPA_INTERNAL_DEBUG("fmt $ans_fmt, res is $response"); + if ($type eq 'float' && $ans_fmt=~/\$/) { + if ($response!~/^\$/) { return "NO_UNIT: Missing \$ "; } + $response=~s/\$//g; + } + $ans_fmt=~s/\W//g; + if (length($response) > 500) { return "TOO_LONG: Answer too long"; } if ($type eq '' ) { @@ -530,6 +537,7 @@ sub chemparse { sub prettyprint { my ($value,$fmt,$target)=@_; + &LONCAPA_INTERNAL_DEBUG("format -$fmt-"); my $result; if (!$target) { $target = $external::target; } if ($fmt =~ /chem/i) { return(&chemparse($value)); }