Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Serega_96
23 / 23 / 2
Регистрация: 22.11.2011
Сообщений: 290
1

В какой переменной хранить дробные числа

27.10.2012, 17:53. Просмотров 1005. Ответов 8
Метки нет (Все метки)

В какой переменной нужно хранить число например: 24,111111. Переменная Single хранит только с 1 целым числом например: 3,1111111. И можно ли такие не целые числа поставить в интервал таймера?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 17:53
Ответы с готовыми решениями:

Дробные числа
Доброго времени суток! Проблема такова, я не знаю как работать с дробными...

Не распознает дробные числа
делаю калькулятор сделала функцию, кот-ую буду вызывать в последующем:...

Перевести число из 10-ой в 8-ую СС, включая дробные числа
помогите найти ошибку!!!!! надо перевести число из 10-ой в 8-ую СС. Включая...

Программа переводов систем счислений (2 8 16 32 целые и дробные числа)
Программа переводов счислений. Перевод, арифметические операции дробных и...

Как объявить переменную, принимающую дробные значения
Здравствуйте. Написал код. Dim intInfo1 As Integer ...

8
Памирыч
Почетный модератор
20878 / 8762 / 1080
Регистрация: 11.04.2010
Сообщений: 11,013
27.10.2012, 20:06 2
Не очень понял вопроса но
vb.net
1
2
3
        Dim Dbl As Double = 24.111111
        Dim Sngl As Single = 24.111111
        MsgBox(Dbl & vbCrLf & Sngl)
По поводу таймера. Свойство Interval имеет тип Integer.
Простая проверка:
vb.net
1
2
        Timer1.Interval = 100.545
        MsgBox(Timer1.Interval)
0
Serega_96
23 / 23 / 2
Регистрация: 22.11.2011
Сообщений: 290
27.10.2012, 20:18  [ТС] 3
Памирыч, а может есть какой-то контрол, типа другой таймер который работает с дробными числами?
0
Памирыч
Почетный модератор
20878 / 8762 / 1080
Регистрация: 11.04.2010
Сообщений: 11,013
27.10.2012, 20:25 4
Serega_96, таймер сам по себе довольно неточен даже для целых чисел, чего уж говорить о дробных.
Нашел пример апи-таймера. Он более точен, но Вам не подойдет скорее всего, потому как тоже принимает целые числа (могу ошибаться)
Кликните здесь для просмотра всего текста
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Public Class Form1
 
    Dim timer As myCallback = AddressOf apitimer1  'от названия зависит обращение к
    Public Const elapse_Periodically As Integer = 1
    Public Declare Function timeKillEvent Lib "winmm.dll" (ByVal uID As Integer) As Integer
    Public Declare Function timeSetEvent Lib "winmm.dll" (ByVal interval_Ms As Integer, ByVal resolution_Ms As Integer, ByVal lpFunction As [Delegate], ByVal dwUser As Integer, ByVal uFlags As Integer) As Integer
    Private Delegate Sub myCallback(ByVal uID As Integer, ByVal uMsg As Integer, ByVal dwUser As Integer, ByVal dw1 As Integer, ByVal dw2 As Integer)
    Dim timerID As Integer
    Const strnull As String = Nothing
    Dim I As Integer = 0
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        timerID = timeSetEvent(1, 0, timer, strnull, elapse_Periodically)
    End Sub
 
    Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
        If keyData = Keys.Escape Then
            timeKillEvent(timerID)
            End
        End If
    End Function
 
    Public Sub apitimer1()
        Text = I
        I += 1
    End Sub
 
End Class


Можно использовать потоки, но там опять же все в милисекундах.
1
OldFedor
7453 / 4120 / 471
Регистрация: 25.08.2012
Сообщений: 11,503
Записей в блоге: 11
27.10.2012, 21:35 5
Иногда помогает раздельное представление целой части и мантиссы (в Int и Dec)
0
Serega_96
23 / 23 / 2
Регистрация: 22.11.2011
Сообщений: 290
27.10.2012, 21:56  [ТС] 6
Памирыч, мне необходим таймер который может работать с дробными числами. Делаю программу которая будет работать с BPM (скорость музыки). То есть вводим скорость например 130 потом она делится на 60 сек получается 2.1666 и с таким интервалом таймер должен включать четыре индиктора по LPT. Нету таких таймеров??

Добавлено через 47 секунд
Получается программа своего рода метроном.
0
Julee
3 / 3 / 0
Регистрация: 08.02.2012
Сообщений: 15
27.10.2012, 22:56 7
Все музыкальные программы (и синтезаторы) опираются на частоту заданную встроенным метрономом а он в миллисекундах. Если фрагмент записан в "живую", распилить его точно по тактам крайне затруднительно. Нужно под каждый такт менять метроном.
0
Serega_96
23 / 23 / 2
Регистрация: 22.11.2011
Сообщений: 290
28.10.2012, 20:26  [ТС] 8
Julee, мне просто надо сделать метроном с LED индикаторами если есть готовый вариант я конечно был бы рад)), но мне кажется не кто такое не делал, поэтому пытаюсь сам слепить

Добавлено через 19 часов 45 минут
Форумчане, получается нету ни какого способа работать с дробными интервалами? Может в другом языке есть такие таймеры?
0
PAnT0P
1024 / 548 / 106
Регистрация: 26.03.2012
Сообщений: 987
29.10.2012, 10:03 9
На всякий случай добавлю: интервал таймера задается с базовой единицей в 0.001 сек, т.е. для получения значения в 2.166 сек, нужно вводить
vb.net
1
Timer1.Interval = 2166
и опять же напомню что
таймер сам по себе довольно неточен
по этому используй код который Вам дали выше т.к. это относится и к нему тоже
1
29.10.2012, 10:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 10:03

Написать операторы, которые придают случайные дробные числа переменной n в следующих диапазонах:
Написать операторы, которые придают случайные дробные числа переменной n в...

Дробные числа
пишу в Builder C++ нужно дробное число отображать в едите получается...

дробные числа
Здраствуйте, народ! Есть глупый вопрос: как сделать проверку для ввода только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru