Skip to content

Commit ac75248

Browse files
committed
fix value convert zero
1 parent 01b53a2 commit ac75248

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

src/readoutStatus.tcl

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -434,21 +434,28 @@ if {1} {
434434
proc NumberOfBytesToString {value suffix} {
435435
set prefixes { " " "k" "M" "G" "T" "P" }
436436
set maxPrefixIndex [llength $prefixes]
437-
set prefixIndex [expr int(floor(log($value) / log(1024)))]
438-
if {$prefixIndex > $maxPrefixIndex} {
439-
set prefixIndex $maxPrefixIndex
440-
}
441-
if {$prefixIndex < 0} {
442-
set prefixIndex 0
443-
}
444-
set scaledValue [expr $value / pow(1024, $prefixIndex)]
445-
set l [expr int(floor(log10(abs($scaledValue))))]
446-
if {$l < 0} {
447-
set l 3
448-
} elseif {$l <= 3} {
449-
set l [expr 3 - $l]
450-
} else {
451-
set l 0
437+
set prefixIndex 0
438+
set l 0
439+
set scaledValue $value
440+
catch {
441+
if {$value > 0} {
442+
set prefixIndex [expr int(floor(log($value) / log(1024)))]
443+
if {$prefixIndex > $maxPrefixIndex} {
444+
set prefixIndex $maxPrefixIndex
445+
}
446+
if {$prefixIndex < 0} {
447+
set prefixIndex 0
448+
}
449+
set scaledValue [expr $value / pow(1024, $prefixIndex)]
450+
set l [expr int(floor(log10(abs($scaledValue))))]
451+
if {$l < 0} {
452+
set l 3
453+
} elseif {$l <= 3} {
454+
set l [expr 3 - $l]
455+
} else {
456+
set l 0
457+
}
458+
}
452459
}
453460
return [format "%.*f %s%s" $l $scaledValue [lindex $prefixes $prefixIndex] $suffix];
454461
}

0 commit comments

Comments
 (0)