Chciałbym przekonwertować to: "#FFFFFF"
na to: 0xFFFFFF
. Jak to możliwe bez korzystania z eval?Jak uzyskać liczbę całkowitą szesnastkową z ciągu w JS?
Dzięki z góry,
Chciałbym przekonwertować to: "#FFFFFF"
na to: 0xFFFFFF
. Jak to możliwe bez korzystania z eval?Jak uzyskać liczbę całkowitą szesnastkową z ciągu w JS?
Dzięki z góry,
Strip off "#" i używają parseInt()
.
var hex = parseInt(str.replace(/^#/, ''), 16);
Następnie, jeśli chcesz zobaczyć go w hex, można użyć .toString()
:
alert(hex.toString(16));
Wolałbym 'substring()' (jak w odpowiedzi @ TJCrowder) zamiast 'replace()', ze względu na wydajność. –
@MarkReed: To całkowicie zależy od tego, czego naprawdę potrzebuje OP *, co nie wynika z pytania. Być może (biorąc pod uwagę brak cytatów na temat "0xFFFFFF"), OP chce mieć wartość liczbową (co oczywiście spowodowałoby, że tytuł pytania byłby całkowicie błędny - nie za pierwszym razem!). –
Dziękuję, działa –
Jestem pewien * * To jest duplikatem ... Życzę "Related pytania" były mądrzejsze na temat znaczników językowych: -/ –
@ Danny: Przez "wartość heksadecymalną", masz na myśli ** liczbowy ** wartość FFFFFF (np. 16777215 dziesiętny?). Jeśli tak, po prostu powiedz "wartość liczbowa", umieszczenie słowa "hex" spowoduje przeniesienie nas na obszar sznurka. Myślę, że prawdopodobnie miałeś na myśli numer. –
@ T.J. Crowder Edytowałem tytuł: –