2015-04-02 73 views
-4

當我輸入變量谷歌的AppEngine長爲Int

a = int(1388620800)*1000 

這個變量返回

1388620800000 

但在谷歌的AppEngine服務器(當然),這個變量是由https://cloud.google.com/appengine/docs/python/datastore/typesandpropertyclasses#int

改變
1388620800000L 

如何將1388620800000L轉換爲Appengine中的int類型?

編輯

我將顯示此號碼JSON。在本地的Python2.7中,變量'a'只是整數。但在appengine服務器中,變量'a'具有字符串'L'。我用str()和.replace('L','')解決了它,但我想知道如何通過改變數字類型來解決它。

回答

0

這不是一個App Engine問題。

在Python中,long和int是完全等價的,沒有理由需要從一個轉換到另一個。

編輯

你的解釋是沒有意義的兩種,很遺憾。 JSON有沒有長型,和Python的json庫使得多頭和整數之間沒有區別:

>>> json.dumps(1388620800000L) 
'1388620800000' 
>>> json.dumps(1388620800000) 
'1388620800000' 

正如你可以看到,他們的待遇完全相同。

+0

這是App Engine的問題。當你輸入變量a = int(1388620800)* 1000時,python2.7中的a是int。但在appengine服務器中,a是Long類型。 – 2015-04-02 14:53:01

+0

但*沒有區別*。你爲什麼在乎?你爲什麼認爲你需要轉換它? – 2015-04-02 14:56:44

+0

對不起,我的弱解釋。我編輯了我的問題。 – 2015-04-02 14:58:27

0

App Engine使用python 2.7,int和long在這個版本中統一。

查看更多信息這個問題: How does Python manage int and long?

我真的不明白你爲什麼要當你在我看來,沒有理由這樣做轉換這個數。

+0

當我打印這個號碼時,他們有L字符串。所以我想用int類型去除它。 – 2015-04-02 14:51:32