型別轉換表

2022-01-21 14:01:31 字數 2172 閱讀 3160

發生擴大轉換。,當乙個型別的值轉換為相等或更大範圍的另一種型別時。 收縮轉換時,會發生乙個型別的值轉換為較小的另一種型別的值時。 本主題中的表闡釋了兩種轉換型別顯示的行為。

擴大轉換

下表描述了可以執行,不會丟失資訊的擴大轉換。

型別可以轉換,而不會丟失資料

byte

uint16, int16, uint32, int32, uint64, int64, single, double, decimal

sbyte

int16, int32, int64, single, double, decimal

int16

int32, int64, single, double, decimal

uint16

uint32, int32, uint64, int64, single, double, decimal

char

uint16, uint32, int32, uint64, int64, single, double, decimal

int32

int64, double, decimal

uint32

int64, uint64, double, decimal

int64

decimal

uint64

decimal

single

double

為 single 或 double 的那些擴大轉換可能會導致丟失精度。 下表描述了有時會導致資訊丟失的擴大轉換。

型別可以轉換

int32

single

uint32

single

int64

single, double

uint64

single, double

decimal

single, double

收縮轉換

為 single 或 double 的收縮轉換可能導致資訊丟失。 如果目標型別無法正確表達源的大小,則結果型別設定為常數 positiveinfinity 或 negativeinfinity。 ,當 single 或 double 的值超過 maxvalue 欄位的值時,positiveinfinity 由部件的正數由零和也會返回。 ,當 single 或 double 的值。 minvalue 欄位中的值時,會negativeinfinity 產生負數除以零時和也會返回。 從 double 的轉換到 single 可能導致 positiveinfinity 或 negativeinfinity。收縮轉換可能會導致其他資料型別的資訊丟失。 但是, overflowexception 引發,如果將型別的值不在目標型別的 maxvalue 和 minvalue 字段指定的範圍內,因此,轉換在執行時檢查確保目標型別的值不超過其 maxvalue 或 minvalue。 對 system.convert 類的轉換始終以這種方式檢查。

下表列出了 overflowexception 使用 system.convert 或所有簽出的轉換的轉換,如果轉換的型別的值不在結果型別的定義的大小。

型別可以轉換

byte

sbyte

sbyte

byte, uint16, uint32, uint64

int16

byte, sbyte, uint16

uint16

byte, sbyte, int16

int32

byte, sbyte, int16, uint16, uint32

uint32

byte, sbyte, int16, uint16, int32

int64

byte, sbyte, int16, uint16, int32, uint32, uint64

uint64

byte, sbyte, int16, uint16, int32, uint32, int64

decimal

byte, sbyte, int16, uint16, int32, uint32, int64, uint64

single

byte, sbyte, int16, uint16, int32, uint32, int64, uint64

double

byte, sbyte, int16, uint16, int32, uint32, int64, uint64

mysql型別轉換c 型別轉換 C 型別轉換

一 簡介 型別轉換 把資料從一種型別轉換另一種型別 我們要求等號兩邊參與運算子必須型別一致,如果不一致,滿足下列條件會發生自動型別轉換或者隱式型別轉換。1.兩種型別相容 例如 int和double 相容 都是數字型別 2.目標型別大於源型別 double int 顯示型別轉換 1.兩種型別相相容 i...

mysql 表型別批量轉換的方法

select concat alter table tt.table schema,tt.table name,engine myisam from information schema.tables tt where tt.engine innodb and tt.table schema dbn...

java 型別轉換 強制型別轉換

今天在寫乙個demo時,碰到型別轉換問題。發現兩個不相干的class進行強制型別轉換編譯是不會通過的,但是。乙個class到乙個不相干的inte ce強制型別轉換是可以編譯通過的。可能有人感覺知道這沒什麼意義,但是感覺還是記錄下。雖然有自動型別轉換,以及強制型別轉換,但有時強制型別轉換不能通過時,可...