sub convert { my ($len1, $type); if ($choice eq "Cells to Bits") { if ($pcr && $cell_size) { $answer = $pcr * $cell_size * 8; $len1 = length($answer); print $len1,"\n"; print $answer,"\n"; if (($len1 < 4) || ($len1 > 15)) { $type = "b/s"; }elsif (($len1 >= 4) && ($len1 <= 6)) { $type = "Kb/s"; $answer = substr($answer, 0, 1)." ".$type if $len1 == 4; $answer = substr($answer, 0, 2)." ".$type if $len1 == 5; $answer = substr($answer, 0, 3)." ".$type if $len1 == 6; }elsif (($len1 >= 7) && ($len1 <= 9)) { $type = "Mb/s"; $answer = substr($answer, 0, 1)." ".$type if $len1 == 7; $answer = substr($answer, 0, 2)." ".$type if $len1 == 8; $answer = substr($answer, 0, 3)." ".$type if $len1 == 9; }else{ $type = "Gb/s"; my $count = 1; while ($count < 10) { chop($answer); $count++; } $answer .= " ".$type; } $status = "Conversion Successfull!"; }else{ $status = "Error: required field missing!"; } }elsif ($choice eq "Bits to Cells") { if ($bps && $cell_size2) { $answer = $bps / 8 / $cell_size2; $answer = sprintf("%.0f", $answer) . " cps"; $status = "Conversion Successfull!"; }else{ $status = "Error: required field missing!"; } }else{ $status = "Error: required field missing!"; } }
As you can see I use length to check for number of digits and format accordingly. Well once the length of the answer gets too long perl automatically shortens it by using Scientific notation. My question is is there any way to disable perl from returning calculated results in scientific notation or any other way to stop this from happening?
In reply to Scientific Notation Throws Off Results. by Elijah
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |