・p.57 Chap1_11_1から
.56 型を変換する
・範囲の大きい同種の型に代入する場合は、自動的に暗黙の型変換が行われる 例: int i = 5; long a = i; //暗黙の型変換でlongになる ・整数型から実数型に代入する場合は、自動的に暗黙の型変換が行われる 例: int i = 5; double a = i; //暗黙の型変換でdoubleになる ・実数を整数型に代入する場合は、明示的な型変換(キャスト)が必要で「(型名)」を前置する ※ これをキャスト演算子ともいう 例: double a = 3.14; int i = (int)a; //int型にキャストしてからなら代入可能で3になる ・実数リテラルを整数型にキャストすることも可能 例: int i = (int)3.14; //int型にキャストしてからなら代入可能で3になる ・実数から整数型にキャストすると小数点以下切捨てになる(四捨五入ではない) ・文字列型以外の各型を文字列型に変換するには、""(0文字の文字列)に「+」で連結すると良い 例: int i = 365; string s = "" + i; //文字列"365"になる
p.57 Chap1_11_1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Chap1_11_1 : MonoBehaviour {
void Start() {
int seisuu = (int)3.5; //小数点以下切捨てでint変換
string text = "" + 110; //文字列変換で"110"になる
Debug.Log( seisuu + text ); //加算ではなく連結で"3110"になる
}
void Update() {
}
}
ミニ演習:mini057b
・3の整数の平均値を実数で表示したい ・public変数a、b、cを定義し、合計をdoubleにキャストしてから3で割って平均を得よう
作成例
using UnityEngine;
public class mini057b : MonoBehaviour {
public int a = 1, b = 2, c = 3;
void Start() {
Debug.Log((double)(a + b + c) / 3);
}
void Update() {}
}
別解
using UnityEngine;
public class mini057b : MonoBehaviour {
public int a = 1, b = 2, c = 3;
void Start() {
Debug.Log((a + b + c) / 3.0); //整数÷実数になる
}
void Update() {}
}
ミニ演習:mini057c
・西暦を受け取って何世紀か答えよう
・例:20世紀は1901年から2000年まで
・入力時にわかりやすいようにUnity側のパブリック変数の上にコメントを表示できる
・書式: [Header("コメント")] ※パブリック変数の定義のすぐ上に単独行で置くこと
・ヒント: 世紀 = (年 - 1) / 100 + 1
作成例
using UnityEngine;
public class mini057c : MonoBehaviour {
[Header("西暦を入力してください")]
public int a = 1901;
void Start() {
Debug.Log((a - 1) / 100 + 1 + "世紀です"); //計算後に連結
}
void Update() {}
}
参考:2つ以上のパブリック変数コメントも可能
using UnityEngine;
public class mini057c : MonoBehaviour {
[Header("西暦を入力してください")]
public int a = 1901;
[Header("令和の和暦を入力してください")]
public int b = 1;
void Start() {
Debug.Log((a - 1) / 100 + 1 + "世紀です"); //計算後に連結
Debug.Log("西暦" + (b + 2018) + "年です"); //計算後に連結
}
void Update() {}
}