2010-09-02 24 views
23

Tôi có một biến lưu trữ giá trị css của một lề. Tôi muốn loại bỏ các "px" từ cuối để tôi chỉ có số để làm việc với. Tôi có thể làm cái này như thế nào?cắt "px" ở cuối Jquery var

Trả lời

55
var x = "1px"; 
var y = parseInt(x, 10); // specify radix to prevent unpredictable behavior 
+0

"Một số nguyên đại diện cho cơ số của chuỗi đã đề cập ở trên. * Luôn xác định * tham số này để loại bỏ sự nhầm lẫn của người đọc và * để đảm bảo hành vi có thể dự đoán được *. . " https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt –

+0

Do một số vấn đề với IE, bạn có thể tìm thấy parseFloat là tốt hơn. Điều này là do IE sử dụng một phần pixel, giống như 27,86 thay vì 28. – Teegan

2

Sử dụng phương pháp string.Replace() là một cách dễ dàng:

http://www.w3schools.com/jsref/jsref_replace.asp

+0

Tại sao lưu ý lại? Tôi có thể nghĩ về một số nơi parseInt và parseFloat quá cầu kỳ để sử dụng chung. –

+0

Heh yea, cùng một người dùng cũng đã downvoted câu hỏi cùng với câu trả lời của tôi trước khi Alex Reitbort đưa ra câu trả lời của mình. Có lẽ chỉ là một người dùng độc hại: P –

0

Bạn nên sử dụng parseFloat()

Trong tình huống mà bạn có số thập phân, như 0,5 giây cho chuyển tiếp-chậm trễ, parseInt (x, 10) trả về 0, trong đó parseFloat() trả về 0.5

var x = "0.5s"; 
var y = parseFloat(x); //returns 0.5 
+0

Câu hỏi cụ thể về pixel ('0,5px' không phổ biến như' 0,5s'). –

4

Lựa chọn 1:

parseInt('200px', 10); 

Các parseInt() chức năng phân tích một chuỗi và trả về một số nguyên. Không thay đổi 10 được tìm thấy trong các chức năng trên (được gọi là một "cơ số") trừ khi bạn biết những gì bạn đang làm.

Output sẽ là: 200.

Lựa chọn 2(Cá nhân tôi thích tùy chọn này)

parseFloat('200px') 

Output sẽ là: 200

Các parseFloat () Hàm phân tích một chuỗi và trả về một số dấu phẩy động.

Hàm parseFloat() xác định nếu ký tự đầu tiên trong chuỗi được chỉ định là một số. Nếu có, nó phân tích chuỗi cho đến khi nó đến cuối số và trả về số dưới dạng số, không phải là một chuỗi.

Lợi thế của Tùy chọn 2 là nếu bạn sử dụng số thập phân (ví dụ: 200.32322px), bạn sẽ nhận được số được trả về với các giá trị sau dấu thập phân. Hữu ích nếu bạn cần các số cụ thể được trả về.

Các vấn đề liên quan