型変換(キャスト)
型変換(キャスト)は、元のデータの型を別のデータの型に変換します。
ただし、データの内容によっては指定するデータの型に変換することはできません。別の工夫をして入れることができますが、難しい内容になるのでここでは説明を省略します。
また、「変換」と表現していますが、変換元のデータの型を指定したデータの型として見立てるだけで、元のデータの型が変わるわけではありません。
実数型を整数型に変換する
実数型を整数型に変換するときは、小数点以上の整数部分を整数型の値の範囲内で変換できます。
int(整数型以外のデータ)
ddim jissu //実数型変数jissuを宣言
jissu = 3.14 //実数値で円周率
mes int(jissu) //・・・3(※1)
jissu = 0.999999 //限りなく1に近い実数値
mes int(jissu) //・・・0(※1)
jissu = 2147483650.0 //整数値の最大値より大きい実数値
mes int(jissu) //・・・-2147483648(※2)
jissu = -2147483650.0 //整数値の最小値より小さい実数値
mes int(jissu) //・・・-2147483648(※2)
命令名:int「整数型以外の型を整数型に変換」
整数型以外のデータ:jissu「さまざまな実数値」
(※1)小数以下の数は消えます。
(※2)整数値の限度を超えた実数値を変換すると-2147483648になります。
文字列型を整数型に変換する
文字列型変数は文字列の先頭が数字か「-」か「+」で始まり、連続する数字が終わるところまでの文字数かつ整数型変数の値の範囲内で変換します。
sdim moji //文字列型変数mojiを宣言
moji = "123" //数字で123
mes int(moji) //・・・123
moji = "3.14" //数字で円周率
mes int(moji) //・・・3(※1)
moji = "9999999999" //整数型の最大値より大きい整数の数字
mes int(moji) //・・・2147483647(※2)
moji = "-9999999999.0" //整数型の最小値より小さい実数の数字
mes int(moji) //・・・-2147483648(※2)
moji = "123abc" //数字と文字
mes int(moji) //・・・123(※3)
moji = "1a2b3c" //数字と文字を交互に
mes int(moji) //・・・1(※3)
moji = "abc123" //文字と数字
mes int(moji) //・・・0(※3)
命令名:int「整数型以外の型を整数型に変換」
整数型以外のデータ:moji「さまざまな文字列」
(※1)小数点以下の数は消えます。
(※2)整数値の限度を超えた数字を変換すると、整数値の最大値または最小値になります。
(※3)文字列の先頭が符号または数字で始まり、数字として認識できるところまでを変換します。
Copyright © 2002-2025 team.Dakuji All Rights Reserved.