--- loncom/homework/caparesponse/caparesponse.pm 2003/07/24 13:25:37 1.106
+++ loncom/homework/caparesponse/caparesponse.pm 2003/09/22 18:38:59 1.111
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# caparesponse definition
#
-# $Id: caparesponse.pm,v 1.106 2003/07/24 13:25:37 sakharuk Exp $
+# $Id: caparesponse.pm,v 1.111 2003/09/22 18:38:59 sakharuk Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -194,6 +194,7 @@ sub end_numericalresponse {
}
my $formatted;
if ((defined($format)) && ($format ne '')) {
+ $format=~s/e/E/g;
&Apache::lonxml::debug("formatting with :$format: answer :$answer:");
$formatted=sprintf('%.'.$format,$answer).',';
} else {
@@ -247,7 +248,7 @@ sub end_numericalresponse {
';
}
} elsif ($target eq 'tex') {
- if (defined $unit and $Apache::lonhomework::type eq 'exam') {
+ if ((defined $unit) and ($unit=~/\S/) and ($Apache::lonhomework::type eq 'exam')) {
$result.=' \textit{(in} \verb|'.$unit.'|\textit{)} ';
}
if ($$tagstack[-1] eq 'numericalresponse') {
@@ -366,7 +367,7 @@ sub end_numericalresponse {
if ($target eq 'answer') {
if ($ENV{'form.answer_output_mode'} eq 'tex') {
$result.=&Apache::response::answer_part($$tagstack[-1],
- "\\textbf{$string}");
+ "$string");
} else {
$result.=&Apache::response::answer_part($$tagstack[-1],
"$string");
@@ -416,12 +417,13 @@ sub format_number {
my ($number,$format,$target)=@_;
my $ans;
if ($format ne '') {
+ $format=~s/e/E/g;
$ans = sprintf('%.'.$format,$number);
} else {
my $format = '';
#What is the number? (integer,decimal,floating point)
if ($number=~/^(\d*\.?\d*)(E|e)(\d*)$/) {
- $format = 'e'.$2;
+ if (abs($3)>=100) {$format = 'e3';} else {$format = 'e2';}
} elsif ($number=~/^(\d*)\.(\d*)$/) {
$format = '4f';
} elsif ($number=~/^(\d*)$/) {