小編寫這篇文章的主要目的,主要是給大家介紹在使用python數(shù)據(jù)庫的時候,經(jīng)常性的會出現(xiàn)各種各樣的問題,比如會出現(xiàn)float這種問題,那么遇到這種問題怎么解決呢?下面小編就給大家答案。
數(shù)據(jù)庫寫入時float自動變?yōu)檎麛?shù)問題
問題描述
現(xiàn)在用python插入數(shù)據(jù)到mysql過程中遇到個問題,明明數(shù)據(jù)庫系統(tǒng)設(shè)定的基本數(shù)據(jù)類型基本數(shù)據(jù)類型是float,要存相關(guān)數(shù)據(jù)也是float類型,可是存進去之后就會變成正整數(shù)了,例如0.98成為了1.
發(fā)覺完成那是因為我創(chuàng)建表的sql查詢有什么問題,由于應(yīng)用Navicat直接導(dǎo)出的sql查詢
表的sql語句如下
CREATETABLE`traffic_and_weather`( `currentTime`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP, `expedite`float(4,0)NOTNULL, `congested`float(4,0)NOTNULLDEFAULT'0', `blocked`float(4,0)NOTNULLDEFAULT'0', `unknown`float(4,0)DEFAULT'0', `weather`intNOTNULLDEFAULT'0', PRIMARYKEY(`currentTime`) )ENGINE=InnoDBDEFAULTCHARSET=latin1;
問題解決方案
問題就出在float(4,0)這里了,小數(shù)部分自動是0位,整數(shù)部分為4位。自然小數(shù)就沒有了。所以可以把float(4,0)改成float。
float所表示的范圍
**關(guān)于float表示的數(shù)的范圍的計算問題?**
float在計算機中表示是32位sign(1bit)+exponent(8)+fraction(23)
階碼用移碼來表示,8位移碼(偏移量為127)本來應(yīng)該可以表示-128~127,但是全0和全1被用來表示特殊狀態(tài)的指數(shù)
所以為-126~127.這里為什么要使用127來作為偏移量,若使用128則8位移碼表示范圍-127~126.由于表示一個大的正數(shù)
比一個小的負數(shù)更加重要所以127作為偏移量比較合適。
現(xiàn)在可以計算其表示范圍了:
尾數(shù)部分的取值范圍[1,2),所以最小負數(shù)-2*2^127最大負數(shù)-1*2^(-126)
最小正數(shù)1*2^(-126)最大正數(shù)2*2^(127)
以上就給大家介紹到這里了,希望能給各位讀者帶來幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/127832.html
摘要:前言以下簡稱是數(shù)據(jù)分析必不可少的第三方庫,的出現(xiàn)一定程度上解決了運算性能不佳的問題,同時提供了更加精確的數(shù)據(jù)類型。因此,理解的數(shù)據(jù)類型對數(shù)據(jù)分析十分有幫助。一維數(shù)據(jù)由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,可以用數(shù)組表示。 前言 NUMPY(以下簡稱NP)是Python數(shù)據(jù)分析必不可少的第三方庫,np的出現(xiàn)一定程度上解決了Python運算性能不佳的問題,同時提供了更加精確的數(shù)據(jù)...
摘要:堆棧和隊列稱為線性數(shù)據(jù)結(jié)構(gòu),而圖形和樹是非線性數(shù)據(jù)結(jié)構(gòu)。在單次運行期間,可能無法遍歷非線性數(shù)據(jù)結(jié)構(gòu)中的所有數(shù)據(jù)項。堆棧是根據(jù)概念插入和移除的對象的容器。將元素添加到堆棧時,它被稱為推送操作,而當您刪除或刪除元素時,它被稱為彈出操作。 概述 ????數(shù)據(jù)結(jié)構(gòu)是組織數(shù)據(jù)的方式,以便能夠更好的存儲和獲取數(shù)據(jù)。數(shù)據(jù)結(jié)構(gòu)定義數(shù)據(jù)之間的關(guān)系和對這些數(shù)據(jù)的操作方式。數(shù)據(jù)結(jié)構(gòu)屏蔽了數(shù)據(jù)存儲和操作的細節(jié)...
摘要:數(shù)字和字符串,不能改變對象本身,只能改變引用的指向,稱為不可變數(shù)據(jù)對象。從開始,依次增加的值,直至等于或者大于將會輸出。該函數(shù)輸入姓名和各科的成績,輸出姓名和總共成績。表明該參數(shù)是關(guān)鍵字參數(shù),通常來講關(guān)鍵字參數(shù)是放在函數(shù)參數(shù)列表的最后。 基礎(chǔ) 局部變量與全局變量 函數(shù)中使用的變量是局部的 如果在外面的變量在函數(shù)中使用,需要加global關(guān)鍵字 APPLY = 100 # 全局變量 a ...
摘要:本篇內(nèi)容為機器學(xué)習(xí)實戰(zhàn)第章決策樹部分程序清單。適用數(shù)據(jù)類型數(shù)值型和標稱型在構(gòu)造決策樹時,我們需要解決的第一個問題就是,當前數(shù)據(jù)集上哪個特征在劃分數(shù)據(jù)分類時起決定性作用。下面我們會介紹如何將上述實現(xiàn)的函數(shù)功能放在一起,構(gòu)建決策樹。 本篇內(nèi)容為《機器學(xué)習(xí)實戰(zhàn)》第 3 章決策樹部分程序清單。所用代碼為 python3。 決策樹優(yōu)點:計算復(fù)雜度不高,輸出結(jié)果易于理解,對中間值的缺失不敏感,可...
閱讀 1068·2023-01-14 11:38
閱讀 1064·2023-01-14 11:04
閱讀 906·2023-01-14 10:48
閱讀 2382·2023-01-14 10:34
閱讀 1150·2023-01-14 10:24
閱讀 1028·2023-01-14 10:18
閱讀 657·2023-01-14 10:09
閱讀 735·2023-01-14 10:02