version 1.77, 2004/03/26 20:10:42
|
version 1.79, 2004/05/17 21:15:56
|
Line 484 sub format {
|
Line 484 sub format {
|
if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; } |
if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; } |
$fmt=~s/e/E/g; |
$fmt=~s/e/E/g; |
my $result=sprintf('%.'.$fmt,$value); |
my $result=sprintf('%.'.$fmt,$value); |
|
if ($fmt eq '0f') { $result .='.'; } |
$result=~s/(E[+-]*)0/$1/; |
$result=~s/(E[+-]*)0/$1/; |
if ($dollarmode) {$result=&dollarmode($result);} |
if ($dollarmode) {$result=&dollarmode($result);} |
return $result; |
return $result; |
Line 513 sub chemparse {
|
Line 514 sub chemparse {
|
|
|
my $molecule = $2; |
my $molecule = $2; |
# subscripts |
# subscripts |
$molecule =~ s|(?<=[a-zA-Z\[\s])(\d+)|<sub>$1</sub>|g; |
$molecule =~ s|(?<=[a-zA-Z\)\]\s])(\d+)|<sub>$1</sub>|g; |
# superscripts |
# superscripts |
$molecule =~ s|\^(\d*[+\-]*)|<sup>$1</sup>|g; |
$molecule =~ s|\^(\d*[+\-]*)|<sup>$1</sup>|g; |
# strip whitespace |
# strip whitespace |
Line 536 sub prettyprint {
|
Line 537 sub prettyprint {
|
if ($fmt =~ /chem/i) { return(&chemparse($value)); } |
if ($fmt =~ /chem/i) { return(&chemparse($value)); } |
if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; } |
if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; } |
if ($fmt) { $value=sprintf('%.'.$fmt,$value); } |
if ($fmt) { $value=sprintf('%.'.$fmt,$value); } |
|
if ($fmt eq '0f') { $value .='.'; } |
if ($value =~ /([0-9\.\-\+]+)E([0-9\-\+]+)/i ) { |
if ($value =~ /([0-9\.\-\+]+)E([0-9\-\+]+)/i ) { |
my $frac=$1; |
my $frac=$1; |
if ($dollarmode) { $frac=&dollarformat($frac); } |
if ($dollarmode) { $frac=&dollarformat($frac); } |