無論MYSQL還是SQL SERVER,用float類型存放0.55是不會出問題的,顯示為1可能是相關的客戶端軟件顯示時候的寬度不夠,自動進行了四舍五入而已,你可以使用MYSQL的命令用SQL顯示一下,結果有誤差,但是值是對的,比如可能顯示0.55000000001或者0.54999999999
在龍井等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供成都網站設計、成都網站建設 網站設計制作定制網站,公司網站建設,企業網站建設,高端網站設計,全網營銷推廣,外貿營銷網站建設,龍井網站建設費用合理。
DECIMAL和NUMERIC類型在MySQL中視為相同的類型。它們用于保存必須為確切精度的值,例如貨幣數據。當聲明該類型的列時,可以(并且通常要)指定精度和標度;例如:
DECIMAL(10,2)
在該例子中,10是精度,2是標度。精度表示保存值的主要位數,標度表示小數點后面可以保存的位數
我已經找到原因,是存入的點沒有閉合導致的。
只要你的多邊形第一點和最后一個點是相同的就沒有問題。
插入代碼
INSERT?INTO?`region`?(name,lonlat_points)?VALUES?('one',POLYGONFROMTEXT('POLYGON((104.589612?28.793973,104.585012?28.724563,104.624107?28.693643,104.692522?28.72507,104.697696?28.773205,104.67125?28.808153,104.622382?28.810178,104.589612?28.793973))'))
更新代碼
update?region?set?name?=?'tow',lonlat_points?=?POLYGONFROMTEXT('POLYGON((104.613183?28.809165,104.613758?28.695671,104.720693?28.745847,104.682173?28.816761,104.613183?28.809165))')?where?id=1
一,數值類型保留小數點后兩個0
在存入數據時,應客戶需求數值類型,比如錢數,分數等等需要精確到小數點后幾位。
800存入時顯示為800.00
方法:在建表時直接定義此數值的類型為float,double或decimal類型
例如:
1 create tablenum(2 shuzi float(4,2),3 shuzi2 double(4,2),4 shuzi3 decimal(4,2)5 );
類型(a,b):a指定指定小數點左邊和右邊可以存儲的十進制數字的最大個數,
b指定小數點右邊可以存儲的十進制數字的最大個數,小數位數必須是從 0 到 a之間的值。默認小數位數是 0。
此時在插入數據
1 insert into num values(22,33,44);
那么此時顯示的數據就是:
22.00 33.00 44.00
無需手動輸入00.
最后說一下
float:浮點型,含字節數為4,32bit,數值范圍為-3.4E38~3.4E38(7個有效位 對最后一位數四舍五入)
double:雙精度實型,含字節數為8,64bit數值范圍-1.7E308~1.7E308(15個有效位 對最后一位數四舍五入 float和double的相乘操作,數字溢出不會報錯會有精度的損失)
decimal:數字型,128bit,不存在精度損失,常用于銀行帳目計算。(28個有效位 當對decimal類型進行操作時,數值會因溢出而報錯)
二,在存入數據時存入整數,select 查詢時取出帶小數.00的數據
同樣應客戶需求,可能僅僅是因為美觀而進行的操作
在定義時定義的就為整形或者其它的數值類型那么在取數據時可以使用round()函數
見表并定義
1 create tablenum(2 shuzi int
3 );
插入數據
insert into num values(22);
取出數據
select round(shuzi,2) fromnum;
或truncate(shuzi,2)
此時顯示為22.00
當前名稱:mysql怎么存入小數 mysql存小數用什么類型
網頁地址:http://vcdvsql.cn/article38/ddeiesp.html
成都網站建設公司_創新互聯,為您提供靜態網站、網站制作、企業網站制作、云服務器、網站營銷、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯