Obsah

# 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:

- Desítková čísla (volitelně s úvodním znaménkem) používající oddělovače desetinných míst a tisíců podle národní nastavení LibreOffice (oddělovače skupin mohou být na jakékoliv pozici), volitelně v exponenciálním zápisu jako např. "-12e+1" (kde celé desítkové číslo za e či E nebo d či D, volitelně se znaménkem, určuje mocninu základu 10).

- Osmičková čísla tvaru "&Onnn...", kde "nnn..." následující za "&O" či "&o" je posloupnost znaků do dalšího znaku, který není alfanumerický, a tato posloupnost nesmí být delší než 11 číslic od 0 do 7.

- Šestnáctková čísla tvaru "&Hnnn...", kde "nnn..." následující za "&H" či "&h" je posloupnost znaků až do dalšího znaku, který není alfanumerický, a tato posloupnost nesmí být delší než 8 číslic od 0 do 9, od A do F či od a do f.

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