發生擴大轉換。,當乙個型別的值轉換為相等或更大範圍的另一種型別時。 收縮轉換時,會發生乙個型別的值轉換為較小的另一種型別的值時。 本主題中的表闡釋了兩種轉換型別顯示的行為。
擴大轉換
下表描述了可以執行,不會丟失資訊的擴大轉換。
型別可以轉換,而不會丟失資料
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強制型別轉換是可以編譯通過的。可能有人感覺知道這沒什麼意義,但是感覺還是記錄下。雖然有自動型別轉換,以及強制型別轉換,但有時強制型別轉換不能通過時,可...