Jak wymusić wartość potęgi Engineering String?
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Jak wymusić wartość potęgi Engineering String?
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ę.
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ę.
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Jak wymusić wartość potęgi Engineering String?
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
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
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Jak wymusić wartość potęgi Engineering String?
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ę
co do wyników to oczywiście kombinuję ciągle - efekty przedstawię jeśli do czegoś w ogóle dojdę
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Jak wymusić wartość potęgi Engineering String?
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 ;)
I napisz do Łukasza - pewnie dobry człowiek zapisze wszystko do wersji 8.6 ;)
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Jak wymusić wartość potęgi Engineering String?
wrócę z Sylwestra i podam rozwiązanie
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Re: Jak wymusić wartość potęgi Engineering String?
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
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
- Załączniki
-
- double_na_engineering_string (SubVI).vi
- (7.94 KiB) Pobrany 339 razy
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Jak wymusić wartość potęgi Engineering String?
Po pierwsze pętla się kręci do ... długo przy wartości wejściowej 0.
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Jak wymusić wartość potęgi Engineering String?
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:
Zerknij na poniższy kod:
- Załączniki
-
- double_na_engineering_string (SubVI).vi
- v8.6
- (7.55 KiB) Pobrany 289 razy
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Jak wymusić wartość potęgi Engineering String?
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
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
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Jak wymusić wartość potęgi Engineering String?
A czemu nie Number to Exponential String? ... u mnie działa OK.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).
Polecam też przetestować Format Value odpowiednio ustawiając wejście Format String
Ostatnio zmieniony 02 sty 2011 21:27 przez smiga, łącznie zmieniany 1 raz.
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Jak wymusić wartość potęgi Engineering String?
nie odnalazłem tego sposobu wiec założyłem temat
będę wdzięczny za wskazówkę
pozdro
będę wdzięczny za wskazówkę
pozdro
- smiga
- Administrator
- Posty: 817
- Rejestracja: 04 paź 2009 12:41
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Słupsk
Re: Jak wymusić wartość potęgi Engineering String?
W załączniku przykład. W Format String podłączyłem"%.2" ... składnie znajdziesz w helpie pod hasłem "Format Specifier Syntax"
- Załączniki
-
- double_na_engineering_string (SubVI)-2.vi
- (8.66 KiB) Pobrany 315 razy
- ky3orr
- Posty: 149
- Rejestracja: 10 gru 2006 00:00
- Wersja środowiska: LabVIEW 8.6
- Lokalizacja: Siechnice
- Kontakt:
Jak wymusić wartość potęgi Engineering String?
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
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