Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » глюк при преобразовании чисел


глюк при преобразовании чисел

Сообщений 1 страница 11 из 11

1

немогу понять, почему у меня возникает глюк когда я пеобразовываю строку 10000.4 в single =10000.4  а при  10000.4 * 10 я получаю 100003  - это как ?  где моя делась единичка ?

Код:
    
Dim T_lcd1 As String * 16
Dim T_lcd2 As String * 16
Dim Tmp As Byte
Dim Tmp1(10) As Byte
Dim Dt1 As Single
Dim T1 As Long  

        T_lcd1 = Str(t1)
            T_lcd1 = Format(t_lcd1 , "000000.0")

            Incr Tmp1(tmp)
            If Tmp1(tmp) = 10 Then Tmp1(tmp) = 0
            Delchar T_lcd1 , Tmp
            T_lcd2=Str(tmp1(tmp))
            Insertchar T_lcd1 , Tmp , T_lcd2
            Dt1 = Val(t_lcd1 )                              ' Format(t_lcd1 , "0000000")
           T1 = Dt1 * 10

http://s5.uploads.ru/t/siMLG.png

0

2

Penumbra написал(а):

немогу понять, почему у меня возникает глюк когда я пеобразовываю строку 10000.4 в single =10000.4  а при  10000.4 * 10 я получаю 100003  - это как ?  где моя делась единичка ?

Наверное Бабай спёр !

http://sa.uploads.ru/t/IhVOP.jpg

0

3

а у меня число после запятой живет своей жизнью
http://s2.uploads.ru/t/KCe89.png

0

4

Penumbra написал(а):

а у меня число после запятой живет своей жизнью


Смотрите размерность переменных !

0

5

Penumbra написал(а):

а у меня число после запятой живет своей жизнью


Смените версию Bascoma, 2.0.7.3  -  глючная

0

6

у меня T1 - переменная типа Long

версия http://s5.uploads.ru/t/uA7Q3.png

0

7

sasha_1973 написал(а):

Смотрите размерность переменных !


А кто Вам сказал, что можно приравнивать переменные разных типов ?

0

8

val_single = val_single * 10

val_long = val_single

0

9

Penumbra написал(а):

версия

смотрите ide version

0

10

Dt1 = Val(t_lcd1 )           
           Dt1 = Dt1 * 10
            T1 = Dt1
тот же

0

11

походу таки да,  версия 2,0,7,8 - и все нормально

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » глюк при преобразовании чисел