implement ev_precision into ev0 procedure (return result rounded to ev_precision digits or return 0 if expression can not be evaluated due to syntax errors or unresolved parameters)
This commit is contained in:
parent
8c47d3fc2c
commit
69337b2652
|
|
@ -668,7 +668,7 @@ proc to_eng {args} {
|
||||||
}
|
}
|
||||||
|
|
||||||
proc = {args} {
|
proc = {args} {
|
||||||
set r [ev7 $args]
|
set r [ev $args]
|
||||||
puts $r
|
puts $r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -699,9 +699,11 @@ proc ev {args} {
|
||||||
|
|
||||||
## evaluate expression. if expression has errors or does not evaluate return 0
|
## evaluate expression. if expression has errors or does not evaluate return 0
|
||||||
proc ev0 {args} {
|
proc ev0 {args} {
|
||||||
|
global ev_precision
|
||||||
|
if {[info exists ev_precision]} {set pr $ev_precision} else {set pr 4}
|
||||||
set i [join $args]
|
set i [join $args]
|
||||||
if {![catch {uplevel #0 expr $i} res]} {
|
if {![catch {uplevel #0 expr $i} res]} {
|
||||||
return [format %.4g $res]
|
return [format %.${pr}g $res]
|
||||||
} else {
|
} else {
|
||||||
# puts stderr "proc ev0: $res"
|
# puts stderr "proc ev0: $res"
|
||||||
return 0
|
return 0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue