Funkce CInt

Převede libovolný řetězec nebo číselný výraz na celé číslo.

Syntaxe:


CInt (Expression As Variant) As Integer

Návratová hodnota:

Integer

Parametry:

Expression: Řetězcový nebo číselný výraz, který chcete převést. Chcete-li převést řetězec, číslo je nutné zadat jako běžný text s použitím výchozího formátu čísla podle národních nastavení LibreOffice. Například pro nastavenou angličtinu je nutné zadat desetinnou tečku jako tečku „.“ a oddělovač tisíců jako čárku „,“ (např. 123,456.78).

Je-li argumentem řetězec, tato funkce odstraní úvodní prázdné znaky a poté zkusí v následujících znacích rozpoznat číslo. Rozpoznávány jsou následující zápisy:

Zbytek řetězce je ignorován. Pokud řetězec není rozpoznán, je číselná hodnota výrazu 0. To nastane například tehdy, když řetězec po odstranění úvodních prázdných znaků nezačíná znaménkem plus nebo minus, desítkovou číslicí či znakem "&" nebo je-li posloupnost po "&O" delší než 11 znaků nebo obsahuje znaky písmen.

Je-li argumentem chyba, jako číselná hodnota výrazu se použije její číslo.

Je-li argumentem datum, použije se jako číselná hodnota výrazu počet dní od data 1899-12-30 (datum v číselné podobě). Čas je reprezentován jako zlomek dne.

Poté co se vypočítá číselná hodnota výrazu, se tato hodnota zaokrouhlí na nejbližší celé číslo (je-li to nutné), a pokud výsledek nespadá do rozsahu -32768 až 32767, LibreOffice Basic ohlásí chybu přetečení. V opačném případě se vrátí výsledek.

Chybové kódy:

5 Neplatné volání procedury

Příklad:

Číselné výrazy se zobrazují podle národních nastavení 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

Podpořte nás!