Mam kolejny problem, tym razem jest on bardzo dziwny, chodzi o to że funktorek number to decimal string niewłaściwie a raczej czasem niewłaściwie przekształca dane, chodzi o to że jeśli na jego wejściu pojawia się wartość to na wyjściu pojawia sie tylko to co było do przecinka, po przecinku zostaje usunięte. Dzieje sie tak czasem bo w tym samym programie część tych funktorów przekształca właściwie ze wszystkim po przecinku a część robi to niewłaściwie. Najlepsze jest to że wcześniej nie chciało przekształcać po przecinku wiec przecinki w tabeli zastąpiłem kropkami, teraz znowu woli przecinki i musiałem do nich powrócić. Jest to dla mnie bardzo dziwne i już ześwirowałem z tymi funktorami, nie widze żadnej prawidłowości w ich działaniu. Bardzo prosze o pomoc w tej sprawie.
pozdrawiam.
Number to decimal string
-
- Posty: 11
- Rejestracja: 14 lut 2007 00:00
Number to decimal string
Piotrek Skałecki
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: Number to decimal string
Witaj
Tak się składa że funkcja Number To Decimal String zamienia liczbę na, która jest na wejściu na łańcuch zawierający liczbę całkowitą. Jeśli więc masz liczbę zmiennoprzecinkową to zostaje ona zamieniona na 64-bitową liczbę typu Integer, zresztą, jak jest to wyjaśnione w pomocy kontekstowej.
Nie może być zatem sytuacji, że w niektórych miejscach ta funkcja pokazuje OK, a w innych jest tak jak piszesz.
Pokaż swój kod, to łatwiej znajdzie się przyczynę.
bogdani
Tak się składa że funkcja Number To Decimal String zamienia liczbę na, która jest na wejściu na łańcuch zawierający liczbę całkowitą. Jeśli więc masz liczbę zmiennoprzecinkową to zostaje ona zamieniona na 64-bitową liczbę typu Integer, zresztą, jak jest to wyjaśnione w pomocy kontekstowej.
Nie może być zatem sytuacji, że w niektórych miejscach ta funkcja pokazuje OK, a w innych jest tak jak piszesz.
Pokaż swój kod, to łatwiej znajdzie się przyczynę.
bogdani
-
- Posty: 11
- Rejestracja: 14 lut 2007 00:00
Re: Number to decimal string
Teraz wszystko działa jak powinno i zwraca wartości z przecinkami ale jeszcze wczoraj miałem ten problem. Labview którego używam to 7.1
Jeszcze jedno, jeśli zauważysz jakieś głupie rozwiązania bo napewno takie tam są to z góry bardzo dziekuje za sugestie dotyczace poprawek
pozdrawiam
Jeszcze jedno, jeśli zauważysz jakieś głupie rozwiązania bo napewno takie tam są to z góry bardzo dziekuje za sugestie dotyczace poprawek
pozdrawiam
Piotrek Skałecki
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: Number to decimal string
Witaj ponownie
Szkoda mi czasu na analizowanie działania, mimo iż kod jest prosty, to jednak mam jedno słowo na jego określenie spaghetti i to na dużym ekranie. Na dzień dobry na twoim miejscu zacząłbym od uporządkowania kodu, bo jest nieczytelny (dane idą od lewej do prawej i mieszczą się na jednym ekranie lub przesuwamy tylko w jednym kierunku (poziomo lub ponowo) - podstawowe zasady).
W interfejsie użytkownika tylko jedna uwaga: czarny napis na niebieskim tle. nie jest zbyt czytelny.
Co do kodu to moje sugestie są następujące (poza porządkami): - staraj się używać tych samych typów danych przy operacjach - jeśli jeden składnik jest typu Double, to jeśli to możliwe drugi też powinien być typu Double, pomoże to zaoszczędzić trochę pamięci (akurat twoja aplikacja nie obciąża systemu, ale czemu się nie uczyć dobrych nawyków od razu), - warto wstawić opóźnienie do kodu nawet rzędu 1 ms, pozwoli to odciążyć procesor, - stosujesz dużo kontrolek tekstowych, które potem zamieniasz na na liczby, są kontrolki numeryczne, które na wyjściu dają liczbę, możesz w ten sposób sterowań danymi bez ciągłych konwersji tekstu na liczby.
To tak na szybko...
bogdani
Szkoda mi czasu na analizowanie działania, mimo iż kod jest prosty, to jednak mam jedno słowo na jego określenie spaghetti i to na dużym ekranie. Na dzień dobry na twoim miejscu zacząłbym od uporządkowania kodu, bo jest nieczytelny (dane idą od lewej do prawej i mieszczą się na jednym ekranie lub przesuwamy tylko w jednym kierunku (poziomo lub ponowo) - podstawowe zasady).
W interfejsie użytkownika tylko jedna uwaga: czarny napis na niebieskim tle. nie jest zbyt czytelny.
Co do kodu to moje sugestie są następujące (poza porządkami): - staraj się używać tych samych typów danych przy operacjach - jeśli jeden składnik jest typu Double, to jeśli to możliwe drugi też powinien być typu Double, pomoże to zaoszczędzić trochę pamięci (akurat twoja aplikacja nie obciąża systemu, ale czemu się nie uczyć dobrych nawyków od razu), - warto wstawić opóźnienie do kodu nawet rzędu 1 ms, pozwoli to odciążyć procesor, - stosujesz dużo kontrolek tekstowych, które potem zamieniasz na na liczby, są kontrolki numeryczne, które na wyjściu dają liczbę, możesz w ten sposób sterowań danymi bez ciągłych konwersji tekstu na liczby.
To tak na szybko...
bogdani
-
- Posty: 11
- Rejestracja: 14 lut 2007 00:00
Re: Number to decimal string
Dzkieki za sugestie, mam pytanie dotyczące tego opuźnienia, jak to wprowadzić?? mój problem z Labview polega na tym że jestem totalnym samoukiem i pierwszy raz uruchomiłem ten program jakiś miesiąc temu. Profesor zaproponował mi temat pracy magisterskiej związanej z Labview i sie zgodziłem ale nie miałem ani jednej godziny zajęć z tym środowiskiem, troche dziwnie ale w sumie nie żałuje. Jeszcze raz dzieki za uwagi.
pozdrawiam
pozdrawiam
Piotrek Skałecki
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: Number to decimal string
Po prostu wrzucasz funkcję Wait z palety Timing. Na wejściu podajesz czas oczekiwania w milisekundach.
bogdani
bogdani