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