2012-06-20 26 views
9

Có cách nào để buộc .getRange(). GetValues ​​() trả về một int không? Mặc dù chỉ có số tồn tại trong phạm vi của tôi, nhưng nó trả về chúng dưới dạng chuỗi. Tôi muốn tránh sử dụng parseInt trong mỗi câu lệnh của tôi hoặc tạo một mảng riêng biệt với các giá trị được chuyển đổi.getValues ​​Script của Bảng tính Google - Buộc int thay vì chuỗi

Hoặc là giải pháp duy nhất, để lấy mảng và sau đó parseInt toàn bộ mảng trong một vòng lặp?

+0

Tôi đã kết thúc viết một hàm chỉ chạy parseInt() trên một mảng và sẽ gọi nó sau khi đọc thông tin. Điều này làm việc tốt (vòng lặp đơn giản), nhưng tôi muốn làm cho bảng tính nhanh hơn một chút, vì vậy tôi quyết định đọc một mảng lớn và sau đó được lưu ra khỏi các phần tử dưới dạng mảng 1D riêng biệt. Khi tôi đã làm điều đó, ngôi nhà mới của họ được lưu trữ chính xác dưới dạng số nguyên. Vì vậy, đó là một cách khác để khắc phục sự cố. – user1469541

Trả lời

13

Bạn có thể sử dụng parseInt() hoặc Number()

dụ

var A='12';var B=5 
A+B = 125 
parseInt(A)+B = 17 
Number(A)+B = 17 

Điều đó nói rằng, getValues ​​() được không được phép trở lại chuỗi giá trị trừ khi có một số không gian hoặc các ký tự không phải số khác ở trong đó ... những giá trị này được nhập thủ công hay là kết quả của một số hàm?

+0

Cảm ơn bạn đã trả lời – user1469541

+0

Ô trống trả về một chuỗi rỗng. – bmacnaughton

2

getValues ​​() trả về một mảng đối tượng 2D - vì vậy đây là các đối tượng Chuỗi, Số nguyên hoặc Ngày tùy thuộc vào những gì được định dạng như trong bảng tính của bạn.

Quay lại bảng tính của bạn và xem những ô nào có giá trị số nguyên được định dạng là. Định dạng chúng dưới dạng số nguyên và bạn sẽ lấy lại số nguyên.

17

bạn có thể làm điều này một cách dễ dàng bằng cách sử dụng '+' hành unary như sau:

Đầu tiên có được giá trị của bạn từ bảng tính của bạn sử dụng getValue() hoặc getValues(). Giả sử bạn nhận được hai giá trị như vậy và lưu trữ chúng trong A = 1B = 2. Bạn có thể buộc chúng được nhận dạng dưới dạng số bằng cách sử dụng toán tử nhị phân toán bất kỳ trừ +, nối các chuỗi, vì vậy A - B = -1, trong khi A + B sẽ trả về '12'.

Bạn có thể buộc các biến trở thành số đơn giản bằng cách sử dụng toán tử đơn nhất + với bất kỳ biến nào có thể được hiểu là chuỗi. Ví dụ: +A + +B sẽ trả lại giá trị chính xác của 3.

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