--- loncom/homework/default_homework.lcpm 2003/06/24 20:41:56 1.64 +++ loncom/homework/default_homework.lcpm 2003/10/23 13:56:07 1.68 @@ -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.64 2003/06/24 20:41:56 albertel Exp $ +# $Id: default_homework.lcpm,v 1.68 2003/10/23 13:56:07 ng Exp $ # # Copyright Michigan State University Board of Trustees # @@ -490,6 +490,7 @@ sub format { my ($value,$fmt)=@_; my $dollarmode; if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; } + $fmt=~s/e/E/g; my $result=sprintf('%.'.$fmt,$value); $result=~s/(E[+-]*)0/$1/; if ($dollarmode) {$result=&dollarmode($result);} @@ -502,12 +503,14 @@ sub prettyprint { my $dollarmode; if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; } if ($fmt) { $value=sprintf('%.'.$fmt,$value); } - if ($value =~ /([0-9\.\-\+]+)E([0-9\-\+]+)/ ) { + if ($value =~ /([0-9\.\-\+]+)E([0-9\-\+]+)/i ) { my $frac=$1; if ($dollarmode) { $frac=&dollarformat($frac); } my $exponent=$2; $exponent=~s/^\+0*//; $exponent=~s/^-0*/-/; + $exponent=~s/^-0*/-/; + if ($exponent eq '-') { undef($exponent); } if ($exponent) { if ($external::target eq 'web') { $result=$frac.'×10'.$exponent.'';