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