Strona 1 z 1

Number to decimal string

: 03 mar 2007 17:56
autor: peter080282
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.

Re: Number to decimal string

: 04 mar 2007 07:32
autor: bogdani
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

Re: Number to decimal string

: 04 mar 2007 08:17
autor: peter080282
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

Re: Number to decimal string

: 04 mar 2007 08:46
autor: bogdani
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

Re: Number to decimal string

: 04 mar 2007 08:59
autor: peter080282
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

Re: Number to decimal string

: 04 mar 2007 11:56
autor: bogdani
Po prostu wrzucasz funkcję Wait z palety Timing. Na wejściu podajesz czas oczekiwania w milisekundach.
bogdani