Diff for /loncom/homework/caparesponse/caparesponse.pm between versions 1.184 and 1.187

version 1.184, 2005/12/06 10:01:57 version 1.187, 2006/02/06 23:02:50
Line 191  sub start_numericalresponse { Line 191  sub start_numericalresponse {
     $safeeval);      $safeeval);
     for (my $i=0; $i <= $#answers; $i++) {      for (my $i=0; $i <= $#answers; $i++) {
  my $answer=$answers[$i];   my $answer=$answers[$i];
  my $format;   if ( scalar(@$tagstack)
  if ($#formats > 0) {       && $tagstack->[-1] ne 'numericalresponse') {
     $format=$formats[$i];      $answertxt.=$answer.',';
  } else {   } else {
     $format=$formats[0];      my $format;
       if ($#formats > 0) {
    $format=$formats[$i];
       } else {
    $format=$formats[0];
       }
       if ($unit=~/\$/) { $format="\$".$format; $unit=~s/\$//g; }
       if ($unit=~/\,/) { $format="\,".$format; $unit=~s/\,//g; }
       my $formatted=&format_number($answer,$format,$target,
    $safeeval);
       $answertxt.=$formatted.',';
  }   }
  if ($unit=~/\$/) { $format="\$".$format; $unit=~s/\$//g; }  
  if ($unit=~/\,/) { $format="\,".$format; $unit=~s/\,//g; }  
  my $formatted=&format_number($answer,$format,$target,  
      $safeeval);  
  $answertxt.=$formatted.',';  
     }      }
     chop $answertxt;      chop $answertxt;
     if ($target eq 'web') {      if ($target eq 'web') {
Line 422  sub end_numericalresponse { Line 427  sub end_numericalresponse {
   
  if ($target eq 'answer') {   if ($target eq 'answer') {
     $result.=&Apache::response::answer_header($tag);      $result.=&Apache::response::answer_header($tag);
     if ($Apache::lonhomework::type eq 'exam') {      if ($tag eq 'numericalresponse'
    && $Apache::lonhomework::type eq 'exam') {
  my ($bubble_values,undef,$correct) = &make_numerical_bubbles($partid,   my ($bubble_values,undef,$correct) = &make_numerical_bubbles($partid,
      $id,$target,$parstack,$safeeval);       $id,$target,$parstack,$safeeval);
  $result.=&Apache::response::answer_part($tag,$correct);   $result.=&Apache::response::answer_part($tag,$correct);
Line 603  sub format_number { Line 609  sub format_number {
     my $ans;      my $ans;
     if ($format eq '') {      if ($format eq '') {
  #What is the number? (integer,decimal,floating point)   #What is the number? (integer,decimal,floating point)
  if ($number=~/^(\d*\.?\d*)(E|e)(\d*)$/) {   if ($number=~/^(\d*\.?\d*)(E|e)[+\-]?(\d*)$/) {
     $format = '3e';      $format = '3e';
  } elsif ($number=~/^(\d*)\.(\d*)$/) {   } elsif ($number=~/^(\d*)\.(\d*)$/) {
     $format = '4f';      $format = '4f';

Removed from v.1.184  
changed lines
  Added in v.1.187


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>