Funkcja CInt

Przetwarza dowolny ciąg lub wyrażenie numeryczne na liczbę całkowitą.

Składnia:


CInt (Expression As Variant) As Integer

Zwracana wartość:

Integer

Parametry:

Wyrażenie: dowolny ciąg znaków lub wyrażenie numeryczne, które chcesz przekonwertować. Aby przekonwertować wyrażenie ciągu, liczbę należy wprowadzić jako zwykły tekst, stosując domyślny format liczb zgodny z ustawieniami regionalnymi LibreOffice. Na przykład numer należy wprowadzić za pomocą kropki „.” jako kropka dziesiętna i przecinek „,” jako separator tysięcy (na przykład 123 456,78) dla ustawień regionalnych języka angielskiego.

Jeśli argumentem jest ciąg znaków, funkcja przycina początkowe białe znaki; następnie próbuje rozpoznać liczbę w kolejnych znakach. Rozpoznawana jest poniższa składnia:

Reszta łańcucha jest ignorowana. Jeśli ciąg znaków nie zostanie rozpoznany, np. gdy po przycięciu spacji początkowej nie zaczyna się od plusa, minusa, cyfry dziesiętnej, ani "&" lub gdy ciąg po "&O" jest dłuższy niż 11 znaków lub zawiera znak alfabetu, wartość liczbowa wyrażenia wynosi 0.

Jeśli argumentem jest błąd, numer błędu jest używany jako wartość liczbowa wyrażenia.

Jeśli argumentem jest data, liczba dni od 1899-12-30 (data szeregowa) jest używana jako wartość liczbowa wyrażenia. Czas jest reprezentowany jako ułamek dnia.

Po obliczeniu wartości liczbowej wyrażenia jest ona zaokrąglana do najbliższej liczby całkowitej (w razie potrzeby), a jeśli wynik nie mieści się w przedziale od -32768 do 32767, LibreOffice Basic zgłasza błąd przepełnienia. W przeciwnym razie wynik jest zwracany.

Kody błędów:

5 Nieprawidłowe wywołanie procedury

Przykład:

Wyrażenia liczbowe są wyświetlane zgodnie z ustawieniami regionalnymi LibreOffice:


Sub ExampleCountryConvert
    MsgBox CDbl(1234.5678) ' 1234,5678
    MsgBox CInt(1234.5678) ' 1235
    MsgBox CLng(1234+5678) ' 6912
    MsgBox CSng(1234.5678) ' 1234,567749023

    MsgBox CDbl(expression := 5678.1234) ' 5678,1234
    MsgBox CInt(expression := 5678.1234) ' 5678
    MsgBox CLng(expression := 5678+1234) ' 6912
    MsgBox CSng(expression := 5678.1234) ' 5678,123535156
End Sub

Prosimy o wsparcie!