Strona 1 z 1

Jak wymusić wartość potęgi Engineering String?

: 28 gru 2010 14:12
autor: ky3orr
Witajcie,
zmagam się z oto nie lada problemem :)

Otóż mam wrzucone na wykres XY Graph dane typu double, które w pewnym momencie z niego pobieram (Value).
Tworzę raport i chcę te dane z formie tabelki umieścić na wydruku, obok wykresu (tego "obok" chyba nie da sie zrobic bez zakupionego toolkita - nie?).

Problem polega na tym, że wykres przedstawiony jest w logarytmicznym układzie współrzędnych i gdy punkt należy do potęgi dziesiątki o wykładniku powiedzmy -13 (czyli E-13) chciałbym w tabelce mieć wartość X.XXXXE-13. Mam natomiast XXX.XXXXE-15.
Czy da się i w jaki sposób sprowadzić wyniki w tabeli do takiej postaci ażeby część całkowita Enigineering Stringa była jednocyfrowa? (wtedy potęgi byłyby ok).

Kombinowałem z ustawieniem konwersji na lenght=10 i precision=4 co miałoby zapewnić jedną cyfrę całkowitą, jednak konwersja działa jakoś nie po mojej myśli.

za wszelkie sugestie z góry dziękuję.

Re: Jak wymusić wartość potęgi Engineering String?

: 28 gru 2010 15:16
autor: smiga
Odnośnie raportu, to skorzystaj z pracy Łukasza (spec.kolombo) - HTML report from template
Znajdziesz tu:
http://labview.pl/viewtopic.php?f=26&t=3279

Odnośnie wyświetlania wyników, to możesz pokombinować w Display Format / Advanced editing mode

Jak wymusić wartość potęgi Engineering String?

: 28 gru 2010 15:30
autor: ky3orr
niestety pracuję na LV8.6 i nie odpalają mi się konkursowe toolkity :(

co do wyników to oczywiście kombinuję ciągle - efekty przedstawię jeśli do czegoś w ogóle dojdę :)

Re: Jak wymusić wartość potęgi Engineering String?

: 28 gru 2010 19:33
autor: smiga
Może wklej ten kawałek kodu z przykładowymi danymi ... bo u mnie domyślnie robi x,xxxE-13

I napisz do Łukasza - pewnie dobry człowiek zapisze wszystko do wersji 8.6 ;)

Jak wymusić wartość potęgi Engineering String?

: 31 gru 2010 09:19
autor: ky3orr
wrócę z Sylwestra i podam rozwiązanie :)

Re: Jak wymusić wartość potęgi Engineering String?

: 02 sty 2011 19:03
autor: ky3orr
Poniżej prezentuję jak sobie poradziłem z własnym problemem.

Ogólnie rzecz biorąc mnożę w pętli konwertowaną liczbę po 10x, aż jej wartość będzie >=1 co oznacza że pojawiła się pierwsza cyfra z lewej strony symbolu dziesiętnego.
Dalej zaokrąglam liczbę do żądanej dokładności i doklejam info o potędze.

ot i co :)

Re: Jak wymusić wartość potęgi Engineering String?

: 02 sty 2011 19:19
autor: smiga
Po pierwsze pętla się kręci do ... długo :-) przy wartości wejściowej 0.

Re: Jak wymusić wartość potęgi Engineering String?

: 02 sty 2011 19:30
autor: smiga
Po drugie zmieniłem Display format i działa tak samo ... chyba że w wersji 8.6 działa inaczej?
Zerknij na poniższy kod:

Jak wymusić wartość potęgi Engineering String?

: 02 sty 2011 20:08
autor: ky3orr
rozwiązanie jest uproszczone i oczywiście będzie obsługiwało wartość=0 i >0.
chodziło mi o ideę.

jeśli chodzi o wyświetlanie to raczej chodziło mi o wartość pokazywaną po skonwertowaniu na stringa bloczkiem Number to Engineering String (chcę wyświetlać te informacje obok wykresu na raporcie).

problem w tym, że ta konwersja daje czasem więcej niż 1 cyfrę z lewej strony przecinka, a ja koniecznie muszę mieć tylko jedną i dobrze wyznaczoną potęgę.
moje engineering_string jest ok, zaś F-format string jest złe.

pozdrawiam

Re: Jak wymusić wartość potęgi Engineering String?

: 02 sty 2011 21:09
autor: smiga
ky3orr pisze:
jeśli chodzi o wyświetlanie to raczej chodziło mi o wartość pokazywaną po skonwertowaniu na stringa bloczkiem Number to Engineering String (chcę wyświetlać te informacje obok wykresu na raporcie).
A czemu nie Number to Exponential String? ... u mnie działa OK.

Polecam też przetestować Format Value odpowiednio ustawiając wejście Format String

Jak wymusić wartość potęgi Engineering String?

: 02 sty 2011 22:49
autor: ky3orr
nie odnalazłem tego sposobu wiec założyłem temat :)

będę wdzięczny za wskazówkę :)

pozdro

Re: Jak wymusić wartość potęgi Engineering String?

: 02 sty 2011 23:38
autor: smiga
W załączniku przykład. W Format String podłączyłem"%.2" ... składnie znajdziesz w helpie pod hasłem "Format Specifier Syntax"

Jak wymusić wartość potęgi Engineering String?

: 03 sty 2011 19:01
autor: ky3orr
dzięki smiga.
Exponential string i Format Value string całkowicie załatwiają sprawę.
nie bardzo rozumiem dla czego to działa (help jest mglisty dla mnie w kwestii jak to się dzieje, że wartość doprowadzana jest właśnie do jednej cyfry na lewo od znaku dziesiętnego), ale może dobrze że nie było mnie na CLADzie :)

pozdro