Nejlepší odpověď
V Pythonu můžete znát typ datové sady v libovolném programu pomocí funkce type () .
Pokud je číslo plovoucí, kód přesto vytiskne typ. Příklad:
a = 2 #integer
b = "Cosmos" #string
c = 3.4 #float
print(type(a))
print(type(b))
print(type(c))
Výstup bude přirozeně zobrazovat datový typ každého z nich, přičemž hodnota v proměnné c bude float. Toto je tedy nejjednodušší a nejrychlejší způsob, jak zjistit, zda je datový typ float.
Doufám to pomáhá 🙂
Odpověď
Záleží na jazyce. Některé jazyky (například JavaScript) mají typeof
operátor, kterým můžete rozdíl poznat. I když v JavaScriptu vám to nepomůže, protože v JavaScriptu neexistuje nic jako celé číslo. JavaScript má jednotný typ čísla, který zapouzdřuje celá i plovoucí čísla, takže způsoby, jak je můžete zkontrolovat, zahrnují
n - Math.floor(n) > 0
// 3.14 - 3.00 = 0.14. 0.14 > 0.00
n.toString().indexOf(".") == -1
// indexOf() returns -1 when it can’t find the given substring
Pokud používáte C (nebo jazyk, který má statický systém nominálního typu), můžete udělat něco podobného:
(n - (int) n) > 0
Co se zde stane, je to, že operátor (int) vrhá svůj operand, aby jej vynutil na celé číslo. toto „odstřihne“ desítkovou část, takže má stejný účinek jako JavaScript Math.floor.
Existuje však jedna výhrada. Někdy jsou malé rozdíly pro operátora rovnosti příliš malé. 1 == 0.9999999999999999
má hodnotu false, ale 1 == 0.99999999999999999
hodnotu true. Například v jazyce C možná budete muset nahradit > 0
> FLT\_EPSILON
a #include
. FLT\_EPSILON je konstanta představující nejmenší reprezentovatelný float. Můžete jej použít při difúzi dvou plováků a ujistěte se, že se nebudou chybně porovnávat stejně. Uděláte to tak, že je odečtete a zkontrolujete, zda je rozdíl větší než („nerovná se“) nebo menší než nebo rovný („rovný“) FLT\_EPSILON.