number

number

> Funktioner

Konverterar ett värde till ett tal. Om värdet är en sträng kommer talfunktionen att försöka konvertera det till ett tal, om värdet redan är ett tal returnerar funktionen talet och för alla andra typer returnerar den null.

Inställningar
Respons
TypeScript

I JavaScript returnerar Number(value) NaN när omvandlingen misslyckas, medan number i LeekScript returnerar 0. Testa resultatet med Number.isNaN(), aldrig med === NaN: NaN är inte lika med något, inte ens med sig självt. Se upp med gränsfallen: Number("") och Number(null) blir 0, Number("0x10") blir 16. Slutligen blir Number("12abc") lika med NaN medan parseInt("12abc") blir 12 — parseInt stannar vid det första ogiltiga tecknet, Number kräver att hela strängen är ett tal.

Python

I Python finns ingen enda omvandling: int(value) ger ett heltal, float(value) ett flyttal. På en sträng som inte är ett tal kastar båda ett ValueError i stället för att returnera 0 som number i LeekScript — float("abc") och float("") misslyckas, och int("12.5") också, eftersom int() inte godtar någon decimaldel: skriv int(float("12.5")). Mellanslag runt omkring tolereras, float(" 12 ") blir 12.0. Tillämpat på ett flyttal kapar int() mot noll: int(12.9) blir 12 och int(-12.9) blir -12. Räkna med ett try / except ValueError så snart strängen inte kommer från dig.

Exempel

nummer("12345") // 12345 nummer("3.14159") // 3.14159 number("hej") // null

Se också