Beste antwoord
In Python kun je het type dataset in elk programma kennen met behulp van de type () functie.
Als een getal zwevend is, zal de code het type toch afdrukken. Een voorbeeld:
a = 2 #integer
b = "Cosmos" #string
c = 3.4 #float
print(type(a))
print(type(b))
print(type(c))
De output zal natuurlijk datatype van elk tonen, waarbij de waarde in variabele c de float. Daarom is dit de gemakkelijkste en snelste manier om te weten of een datatype float is.
Hoop het helpt 🙂
Antwoord
Het hangt af van de taal. Sommige talen (zoals JavaScript) hebben een typeof
-operator die u kunt gebruiken om het verschil te zien. Hoewel dit in JavaScript u niet helpt, omdat JavaScript niet zoiets als een geheel getal bestaat. JavaScript heeft een uniform getallentype dat zowel gehele getallen als drijvers omvat, dus manieren om daar te controleren zijn onder meer
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
Als je C gebruikt (of een taal met een statisch, nominaal systeem), dan kun je iets soortgelijks doen:
(n - (int) n) > 0
Wat hier gebeurt, is dat de (int) -operator zijn operand intypt om te forceren dat het een geheel getal is. dit knipt het decimale gedeelte af, en heeft dus hetzelfde effect als Math.floor van JavaScript.
Er is echter een voorbehoud. Soms zijn kleine verschillen te klein voor de gelijkheidsoperator. 1 == 0.9999999999999999
is onwaar, maar 1 == 0.99999999999999999
is waar. In C moet u bijvoorbeeld > 0
vervangen door > FLT\_EPSILON
en #include
. FLT\_EPSILON is een constante die de kleinste representatieve float vertegenwoordigt. U kunt het gebruiken bij het differentiëren van twee drijvers en er zeker van zijn dat ze niet ten onrechte gelijk zullen vergelijken. U doet dat door ze af te trekken en te controleren of het verschil groter is dan (“niet gelijk”) of kleiner dan of gelijk aan (“gelijk”) FLT\_EPSILON.