Beste svaret
I Python kan du vite hvilken type datasett i hvilket som helst program ved å bruke type () -funksjon.
Hvis et tall er flytende, vil koden uansett skrive ut typen. Et eksempel:
a = 2 #integer
b = "Cosmos" #string
c = 3.4 #float
print(type(a))
print(type(b))
print(type(c))
Utgangen vil naturlig vise datatype for hver, med verdien i variabel c som float. Derfor er dette den enkleste og raskeste måten å vite om en datatype flyter.
Håper det hjelper 🙂
Svar
Det kommer an på språket. Noen språk (som JavaScript) har en operatør typeof
som du kan bruke til å se forskjellen. Selv om det er i JavaScript, hjelper dette deg ikke, ettersom det ikke er noe som heter heltall i JavaScript. JavaScript har en enhetlig nummertype som innkapsler både heltall og flyter, så måter du kan sjekke der inkluderer
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
Hvis du bruker C (eller et språk som har et statisk system av nominell type), kan du gjøre noe lignende:
(n - (int) n) > 0
Det som skjer her er at operatøren (int) kaster sin operand for å tvinge den til å være et heltall. dette «klipper» av desimaldelen, og har dermed samme effekt som JavaScripts Math.floor.
Det er imidlertid en advarsel. Noen ganger er små forskjeller for små for likhetsoperatøren. 1 == 0.9999999999999999
er usant, men 1 == 0.99999999999999999
er sant. I C, for eksempel, må du faktisk erstatte > 0
med > FLT\_EPSILON
og #include
. FLT\_EPSILON er en konstant som representerer den minste representable flottøren. Du kan bruke den når du skiller mellom to flyter og være sikker på at de ikke feilaktig sammenligner like. Du gjør det ved å trekke dem og kontrollere at forskjellen er større enn («ikke lik») eller mindre enn eller lik («lik») FLT\_EPSILON.