powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / frac... как отбросить целую часть от числа в VB?
13 сообщений из 13, страница 1 из 1
frac... как отбросить целую часть от числа в VB?
    #34148864
ILIUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Функции такой я так понимаю в VB нет... Как попроще это сделать? Или точнее просто вернуть дробную часть как целое число.
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34148937
Neva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mid(Text1.Text, InStr(1, Text1.Text, ".") + 1, Len(Text1.Text))
где text1.text - ваше число
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34148989
ILIUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вобщем-то тоже такое решение и предполагал, просто сомневался, неужели в VB совсем об этом не подумали и чтобы получить дробную часть числа нужно работать с числом как со строкой.
Но все равно спасибо!
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34149264
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
X - Int(X)
I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34149510
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я например использую собственную функцию в Модуле

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Function Piece(chars As String, delimiter As String, position As Long)
     If position <  1  Then
        Piece = ""
        Exit Function
    End If
    ReDim Where( 0  To position +  1 ) As Long
    Where( 0 ) =  1 
    current =  1 
    Length = Len(delimiter)
    For Count =  1  To position
        Where(Count) = InStr(current, chars, delimiter)
        If Where(Count) =  0  Then Where(Count) = Len(chars) +  1 
        current = Where(Count) + Len(delimiter)
    Next Count
    If position =  1  Then
        Length =  0 
    End If
    If (Where(position) = Where(position -  1 )) Then
        back = ""
    Else
        back = Mid(chars, (Where(position -  1 ) + Length), (Where(position) - Where(position -  1 ) - Length))
    End If
    Piece = back
End Function

И потом с любого места (до) после "делиметера" извлекаю часть строки...
Код: plaintext
1.
Num="321.12"
  MsgBox Piece(Num,".", 2 )
.....
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34149691
Neva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot
Код: plaintext
X - Int(X)
I Have Nine Lives You Have One Only
THINK!
Да уж. Действительно.
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34151120
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NevaMid(Text1.Text, InStr(1, Text1.Text, ".") + 1, Len(Text1.Text))
где text1.text - ваше число
вторую запятую ставить не обязательно. Т.е.
Mid(Text1.Text, InStr(1, Text1.Text, ".") + 1)
этого достаточно
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34155741
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Private Function GetDecimalPart(ByVal pdblNumber As Double, pstrDecimalSeparator As String) As String
On Error Resume Next
GetDecimalPart = Split(CStr(pdblNumber), pstrDecimalSeparator, , vbBinaryCompare)(1)
End Function

MsgBox GetDecimalPart(123.9, ".")
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34155883
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConnPrivate Function GetDecimalPart(ByVal pdblNumber As Double, pstrDecimalSeparator As String) As String
On Error Resume Next
GetDecimalPart = Split(CStr(pdblNumber), pstrDecimalSeparator, , vbBinaryCompare)(1)
End Function

MsgBox GetDecimalPart(123.9, ".")

мдя... а просто X - Int(X) ???
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34156205
Charles Weyland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin VladConnPrivate Function GetDecimalPart(ByVal pdblNumber As Double, pstrDecimalSeparator As String) As String
On Error Resume Next
GetDecimalPart = Split(CStr(pdblNumber), pstrDecimalSeparator, , vbBinaryCompare)(1)
End Function

MsgBox GetDecimalPart(123.9, ".")

мдя... а просто X - Int(X) ???
Дай по дискутировать
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34156508
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin,

А просто Split вместо Int и вычитания? И вообще, как-то странно вы не заметили функцию Piece, всего-то на страницу. Прям как в басне.

Кстати, товарищ просил вернуть дробную часть как целое число. Так что в моем примере еще и конвертация потребуется, а в вашем... Попробуйте вашу формулу в Excel: MsgBox 345.5476 - Int(345.5476). Она дает на секундочку 0.5475999999989.

Мда...

Charles Weyland,

По чему?
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34156596
sqlru-sqlru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ты ее округли, до нужного знака )
...
Рейтинг: 0 / 0
frac... как отбросить целую часть от числа в VB?
    #34157947
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот-вот. Тут округли, там отрежь, проследи, чтобы верно, и опять отбрось целую часть (ноль с точкой), и начни все по новой. Я как раз на этот чудесный путь в решении с Int и намекал.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / frac... как отбросить целую часть от числа в VB?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]